Java简单数组排序(冒泡法)
本文实例讲述了Java简单数组排序(冒泡法)。分享给大家供大家参考,具体如下:
import java.util.Scanner; public class testArray { public static void main(String[] args) { Scanner input = new Scanner(System.in); int Max=0; int[] score = new int[5]; //自定义数组长度 System.out.println("please input five numbers:"); for(int i=0; i< score.length; i++){ score[i] = input.nextInt(); } for(int j=0; j<score.length-1; j++){ swap(score); //调用数组排序方法 } System.out.println("########## the result: ###########"); for(int i=0; i<score.length; i++){ System.out.print(score[i]+"\t"); } } public static void swap(int[] arr){ //冒泡法排序 for(int i=0; i<arr.length-1; i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } }
希望本文所述对大家Java程序设计有所帮助。
相关推荐
-
java冒泡排序简单实例
话不多说,请看代码: //冒泡排序,从数组前面向后循环比较 public static void sort1(int[] aa){ int size=aa.length; int temp; //循环数组 for(int i=0;i<size;i++){ //aa[i]分别与i位后面的所有数比较并交换,aa[i]成为最小值 for(int j=i+1;j<size;j++){ if(aa[i]>aa[j]){ temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; }
-
java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现. 冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来. 选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组. 插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序. 复制代码 代码如下: package com.firewolf.sort; public class MySort { /** * @param args */ public s
-
java冒泡排序和选择排序示例
冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后.至此第一趟结束,将最大的数放到了最后.在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二
-
java利用冒泡排序对数组进行排序
本文实例讲述了java利用冒泡排序对数组进行排序的方法.分享给大家供大家参考.具体如下: 一.冒泡排序: 利用冒泡排序对数组进行排序 二.基本概念: 依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后.至此第一趟结束,将最大的数放到了最后.在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数
-
java实现的冒泡排序算法示例
本文实例讲述了java实现的冒泡排序算法.分享给大家供大家参考,具体如下: public class PaoPaixu { public static void sort(int[] data){ int tmp; for (int i = 0; i < data.length; i++) { for (int j = i+1; j < data.length; j++) { if(data[i]>data[j]){ /*tmp=data[i]; data[i]=data[j]; dat
-
Java实现冒泡排序算法
冒泡排序: 就是按索引逐次比较相邻的两个元素,如果大于/小于(取决于需要升序排还是降序排),则置换,否则不做改变 这样一轮下来,比较了n-1次,n等于元素的个数:n-2,n-3 ... 一直到最后一轮,比较了1次 所以比较次数为递减:从n-1 到 1 那么总的比较次数为:1+2+3+--+(n-1), 以等差公式计算:(1+n-1)/2*(n-1) ==> n/2*(n-1) ==> (n^2-n) * 0.5 用大O表示算法的时间复杂度:O(n^2) , 忽略了系数0.5和常数-n. 算
-
冒泡排序的原理及java代码实现
概述 冒泡排序是一种简单的排序算法.它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的开始. 简单点说,就是: 冒泡排序是將比較大的數字沉在数组的后面(可以理解为下面),较小的浮在前面(上面). 直观释义图: 步骤 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元
-
Java实现冒泡排序算法及对其的简单优化示例
原理 冒泡排序大概是所有程序员都会用的算法,也是最熟悉的算法之一. 它的思路并不复杂: 设现在要给数组arr[]排序,它有n个元素. 1.如果n=1:显然不用排了.(实际上这个讨论似乎没什么必要) 2.如果n>1: (1)我们从第一个元素开始,把每两个相邻元素进行比较,如果前面的元素比后面的大,那么在最后的结果里面前者肯定排在后面.所以,我们把这两个元素交换.然后进行下两个相邻的元素的比较.如此直到最后一对元素比较完毕,则第一轮排序完成.可以肯定,最后一个元素一定是数组中最大的(因为每次都把相对
-
Java中的数组排序方式(快速排序、冒泡排序、选择排序)
1.使用JavaApi文档中的Arrays类中的sort()进行快速排序 复制代码 代码如下: import java.util.Arrays; public class TestOne{ public static void main(String [] args){ int [] array={2,0,1,4,5,8}; Arrays.sort(array);//调用Arrays的静态方法Sort进行排序,升序排列 for(int show:array){ System.out.printl
-
Java简单数组排序(冒泡法)
本文实例讲述了Java简单数组排序(冒泡法).分享给大家供大家参考,具体如下: import java.util.Scanner; public class testArray { public static void main(String[] args) { Scanner input = new Scanner(System.in); int Max=0; int[] score = new int[5]; //自定义数组长度 System.out.println("please inpu
-
java中将科学计数法转换普通计数法的简单方法
今天发现数据库里汇总的数据有点大,一输出就被自动转化成科学计数法了.后来发现是转换字符串的方法有问题.如下: String a = "11234567.89"; BigDecimal db = new BigDecimal(a); System.out.println("科学计数:" + db.toString()); System.out.println("普通计数:" + db.toPlainString()); 输出: 科学计数:1.123
-
java简单冒泡排序实例解析
一.算法原理 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 二.实现思路 用二重循环实现,外循环变量设为i,内循环变量设为j.假如有n个数需要进行排序,则外循环重复n-1次,内循环依次重复n-1,n-2,...,1次.每次进行比较的两个元素都是与内循环j有关的,它们可以分
-
java使用归并删除法删除二叉树中节点的方法
本文实例讲述了java使用归并删除法删除二叉树中节点的方法.分享给大家供大家参考.具体分析如下: 实现的思想很简单: first:找到要删除的节点 second:如果删除的节点没有右子树那么左子树链到父节点 third:如果删除的节点没有左子树那么右子树链到父节点 forth:如果删除的节点又左右孩子,那么可以归并删除节点后的子树:方法有两种一种是用删除节点的左子树的最右节点,指向删除节点的右子树,另一种是用删除节点的用字数的最左节点指向删除节点的左子树. Java 实现如下: public v
-
C++ 基本算法 冒泡法、交换法、选择法、实现代码集合
1.冒泡法: 这是最原始,也是众所周知的最慢的算法了.他的名字的由来因为它的工作看来象是冒泡: 复制代码 代码如下: #include <iostream.h> void BubbleSort(int* pData,int Count) { int iTemp; for(int i=1;i<Count;i++) { for(int j=Count-1;j>=i;j--) {if(pData[j]<pData[j-1]) { iTemp = pData[j-1]; pData[
-
JS简单数组排序操作示例【sort方法】
本文实例讲述了JS简单数组排序操作.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net 数组排序</title> </head> <body> <script> window.onload = function()
-
详解Java sort()数组排序(升序和降序)
我们在学习 Java 的过程中肯定会遇到对数组进行升序或降序等排序问题,本节主要介绍如何实现 Java 数组的升序和降序.Java 语言使用 Arrays 类提供的 sort() 方法来对数组进行排序. 升序 使用 java.util.Arrays 类中的 sort() 方法对数组进行升序分为以下两步: 导入 java.util.Arrays 包. 使用 Arrays.sort(数组名) 语法对数组进行排序,排序规则是从小到大,即升序. 假设在数组 scores 中存放了 5 名学生的成绩,现在
-
Java轻松入门冒泡 选择 插入 希尔 归并排序算法
今天我们主要看一些简单的排序 常见的时间复杂度 常数阶Ο(1) 对数阶Ο(log2n) 线性阶Ο(n) 线性对数阶Ο(nlog2n) 平方阶Ο(n²) 立方阶Ο(n³) K次方阶Ο(n^k) 指数阶Ο(2^n) 常见的时间复杂度对应图 Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n²)<Ο(n³)<…<Ο(2^n) <Ο(n!)<O(n^n) 冒泡排序(Quicksort) 算法描述: ①. 比较相邻的元素.如果第一个比第二个大,就交
-
java简单读取properties配置文件的方法示例
本文实例讲述了java简单读取properties配置文件的方法.分享给大家供大家参考,具体如下: 读取配置文件,小结如下 import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class loadConf { private Properties prop = new Properties(); private void loadconf() t
-
java 简单的计算器程序实例代码
java 简单的计算器程序 实现实例: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { CalculatorFrame frame = new Calculato
随机推荐
- Java面试题-实现复杂链表的复制代码分享
- Java String字符串和Unicode字符相互转换代码
- c#.net全站防止SQL注入类的代码
- 利用php递归实现无限分类 格式化数组的详解
- python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
- Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
- C语言实现在数组A上有序合并数组B的方法
- 点击按钮或链接不跳转只刷新页面的脚本整理
- linux命令学习之10个网络命令和监控命令
- asp 过滤非法字符函数
- 详解MySQL数据类型int(M)中M的含义
- 对有自增长字段的表导入数据注意事项
- 在IIS6中新增可下载文件类型的方法
- php缩放gif和png图透明背景变成黑色的解决方法
- 戴尔R510_R410_R610_R710等所有服务器安装win2003解决办法
- Swift利用CoreData实现一个通讯录存储详解
- 详解Java线程堆栈
- Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
- JavaScript碎片—函数闭包(模拟面向对象)
- golang分层测试之http接口测试入门教程