冒泡排序:
这可能是最简单的排序算法了,算法思想是每次从数组末端开始比较相邻两元素,把第i小的冒泡到数组的第i个位置。i从0一直到N-1从而完成排序。(当然也可以从数组开始端开始比较相邻两元素,把第i大的冒泡到数组的第N-i个位置。i从0一直到N-1从而完成排序。)
public int[] SelectSort(int pArray[]) { int temp; for(int i=0;i<pArray.length-1;i++){ for(int j=i+1;j<pArray.length;j++){ if(pArray[i]>pArray[j]){ temp = pArray[i]; pArray[i] = pArray[j]; pArray[j] = temp ; } } } return pArray; }
选择排序
选择排序相对于冒泡来说,它不是每次发现逆序都交换,而是在找到全局第i小的时候记下该元素位置,最后跟第i个元素交换,从而保证数组最终的有序。
相对与插入排序来说,选择排序每次选出的都是全局第i小的,不会调整前i个元素了。
public int[] BubbleSort(int pArray[]) { int temp,i,j; for (j=0;j<pArray.length-1;j++){ for(i=0;i<pArray.length-1-j;i++){ if(pArray[i]>pArray[i+1]){ temp = pArray[i]; pArray[i] = pArray[i+1]; pArray[i+1] = temp; } } } return pArray; }