Java排序算法--冒泡排序
2016-09-20 17:56
323 查看
今天面试被虐到了,问到冒泡排序,面试过后自己才想起来,反应慢了。为了避免自己犯同样错误,特记录下来。
冒泡排序思想就是相邻元素两两比较,然后把较大的往下移,交换元素顺序。看起来就是越来越小的元素排前面了,顾为冒泡。最底下的排好后,重复之前的操作,只不过这次不再需要考虑已经排好序的最底下的元素了。代码如下:
运行结果:
冒泡排序思想就是相邻元素两两比较,然后把较大的往下移,交换元素顺序。看起来就是越来越小的元素排前面了,顾为冒泡。最底下的排好后,重复之前的操作,只不过这次不再需要考虑已经排好序的最底下的元素了。代码如下:
public static int[] maopao(int[] t){ for(int a=t.length;a>0;a--){//外层循环数组长度次 for(int b=0;b<a-1;b++){//内层循环比外层循环少一次,因为每次内层循环后,都会产生一个排好序的元素 if(t[b]>t[b+1]){//交换相邻元素 int tmp = t[b]; t[b] = t[b+1]; t[b+1] = tmp; } } } return t; }测试程序:
/** * 输入数据都小于M值,假如M默认值是10 */ public static final int M = 10; public static void main(String[] args) { int[] count = new int[M]; /** * 假设输入数据是5,4,3,9,8,6,7 */ Scanner sc = new Scanner(System.in); System.out.println("请输入小于"+M+"的整数"); int c=0; while(sc.hasNextInt()){ int i = sc.nextInt(); if(i==0){ break; } System.out.println("输入的数据是: "+i); count[c++] = i; } maopao(count); System.out.println("排序后count数组中元素:"); printCount(count); } /** * @param count 元素都是正整数的int数组 */ public static void printCount(int[] count){ for(int i=0;i<count.length;i++){ if(count[i]!=0){ System.out.print(count[i]+" "); } } }
运行结果:
请输入小于10的整数 5 输入的数据是: 5 4 输入的数据是: 4 3 输入的数据是: 3 7 输入的数据是: 7 8 输入的数据是: 8 2 输入的数据是: 2 0 排序后count数组中元素: 2 3 4 5 7 8
相关文章推荐
- 排序算法之冒泡排序(JAVA)
- 元素排序几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 排序算法--冒泡排序(java)
- 插入排序,选择排序,冒泡排序等常用排序算法(java实现)
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- java排序算法学习(一)--冒泡排序
- Java(.NET)经典排序算法之冒泡排序
- Java-排序算法-冒泡排序
- 排序算法之冒泡排序——java/c++/c实现
- 必须知道的八大种排序算法【java实现】(一) 冒泡排序、快速排序
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 排序算法--交换排序(冒泡排序、快速排序、随机快速排序)java实现
- 排序算法-冒泡排序 java
- 排序算法之冒泡排序(Java)
- Java排序算法1:冒泡排序
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 基本排序算法——冒泡排序java实现
- 排序算法——交换排序(冒泡排序、快速排序)(java)
- 排序算法Java实现(冒泡排序)
- java 排序算法--冒泡排序