标签:
package test;publicclassSelectSort{publicstaticvoid selectSort(int a[]){int temp=0;int flag=0;int n=a.length;for(int i=0;i<n;i++){ temp=a[i];//最开始最小位置为第一个位置 flag=i;for(int j=i+1;j<n;j++){//找到最小位置 最小位置为tempif(a[j]<temp){ temp=a[j]; a[j]=a[i]; a[i]=temp;}}if(flag!=i){//将最小值temp与第一个值交换 a[flag]=a[i]; a[i]=temp;}}}publicstaticvoid main(String[] args){int a[]={5,3,6,7,2,1,10,22,90}; selectSort(a);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println();}}package test;publicclassInsertSort{publicstaticvoid insertSort(int[]a){if(a!=null){for(int i =1; i < a.length; i++){int temp=a[i];int j=i;if(a[j-1]>temp){//从后向前插入tempwhile(j>=1&&a[j-1]>temp){ a[j]=a[j-1];//插入位置后移 j--;}} a[j]=temp;}}}publicstaticvoid main(String[] args){int a[]={5,3,6,7,2,1,10,22,90}; insertSort(a);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println();}}package test;publicclassBubbleSort{publicstaticvoid bubbleSort(int a[]){for(int i=0;i<a.length;i++){for(int j=0;j<a.length-1-i;j++){if(a[j]>a[j+1]){//如果后一个数小于前一个数交换 int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;}}}}publicstaticvoid main(String[] args){int a[]={5,3,6,7,2,1,10,22,90}; bubbleSort(a);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println();}} ②把左区作为一个整体,用①的步骤进行处理,右区进行相同的处理。(即递归)
③重复第①、②步,直到左区处理完毕。

标签:
原文地址:http://www.cnblogs.com/baixl/p/4489547.html