数组排序
1)冒泡排序法
原理:两个数比较,大的沉,小的浮
过程:比较相邻的两个数,如果第二个数小就交换位置
代码如下:
|
private void BubbleSort(int []arr) { int temp; for(int i=0;i<</span>arr.length;i++){ for(int j=0;j<</span>arr.length-1;j++){ if(arr[j]>arr[j+1]){ temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } |
2)选择排序法
原理:在长度为n的无序数组中,第一次遍历n-1个数,找到最小的与第一个元素交换
第二次遍历n-2个数,找到最小的与第二个元素交换
......
第n-1次遍历,找到最小的与第n-1个数交换
|
private void SelctionSort(int []arr) { for(int i=0;i<</span>arr.length-1;i++){ int min = i; for(int j=i+1;j<</span>arr.length;j++){ if(arr[j]<</span>arr[min]){ min = j; } } if(min!=i){ int temp = arr[i]; arr[i]=arr[min]; arr[min]=temp; } } } |
3)插入排序法
原理:在一无序数组中,假定前n-1个数已经排好,现在将第n个数插到前面的有序数列中,使得这n个数也是排序好的,如此反复,直到全部排好
|
private static void insertSort(int arr[]) { int temp; for(int i=0;i<</span>arr.length-1;i++){ for(int j=i+1;j>0;j--){ if(arr[j] <</span>arr[j-1]){ temp=arr[j-1]; arr[j-1]=arr[j]; arr[j]=temp; }else{ break; } } } } |
浙公网安备 33010602011771号