一、冒泡排序的Java实现
public void bubbleSort(int[] array){
int len = array.length;
int temp = 0;
//循环次数:array.length
for(int i = 0; i < len; i ++){
//每次循环体内将数组前len-i个数中最大的数移动到array[len-i-1]的位置上
for(int j = 1; j < len - i; j ++){
//此排序算法为升序排序
if(array[j - 1] > array[j]){
temp = array[j -1];
array[j -1] = array[j];
array[j] = temp;
}
}
}
}
二、快速排序的Java实现
public void quickSort(int[] array){ quickSort(array,0,array.length - 1); } private void quickSort(int[] array, int begin, int end){ //如果数组为空或只有一个元素,则结束 if(begin >= end) return; int middle = partition(array,begin,end); quickSort(array, begin, middle - 1); quickSort(array, middle + 1, end); } private int partition(int[] array, int begin, int end){ //以array[end]的值作为分界点,使得数组左边的值都小于等于它,右边的值都大于它 int value = array[end]; //i作为索引,它的下一个位置就是较大数的第一个位置 int i = begin - 1; int temp = 0; for(int j = begin; j < end; j ++){ if(array[j] <= value){ i ++; temp = array[i]; array[i] = array[j]; array[j] = temp; } } i ++; array[end] = array[i]; array[i] = value; return i; }
三、