数组和排序算法
Posted lhh666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组和排序算法相关的知识,希望对你有一定的参考价值。
1)冒泡排序
public static int[] bubbleSort(int[]a) { int temp; for(int i=0;i<a.length-1;i++) { for(int j=0;j<a.length-1-i;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } System.out.println(Arrays.toString(a)); } return a; }
public static int[] bubbleSort2(int[] a) { boolean bool = true; while(bool) { bool=false;//当下面代码没执行就说明,排序都排好了,就不用再循环了 for(int i = 0;i<a.length-1;i++) { if(a[i]>a[i+1]) { int temp = a[i]; a[i] = a[i+1]; a[i+1]=temp; bool=true; } } System.out.println(Arrays.toString(a)); } return a; }
2)选择排序
public static void selectSort(int[] a) { int length = a.length; for(int i=0;i<length-1;i++) { int min=i; for(int j=i+1;j<length;j++) { if(a[min]>a[j]) { min=j; } } if(min!=i) { int temp = a[min]; a[min]=a[i]; a[i]=temp; } System.out.println(Arrays.toString(a)); } }
3)插入排序
public static int[] insertSort(int[] a ) { if(a==null||a.length<2) return a; int length=a.length; for(int i=1;i<length;i++) { int temp=a[i]; int index; for(int j=i;j>0;j--) { if(a[j]<a[j-1]) { a[j]=a[j-1]; index=j-1; } else break; a[index]=temp; } System.out.println(Arrays.toString(a)); } return a; }
以上是关于数组和排序算法的主要内容,如果未能解决你的问题,请参考以下文章