java 四种排序方式

来源:互联网 发布:网络热门小说下载 编辑:程序博客网 时间:2024/05/16 12:29

/** 冒泡 */

int temp =0;for(int i=0; i< array.length-1; i++){for(int j =0; j< array.length-1-i; j++){if(array[j] > array[j+1]){temp = array[j+1];array[j+1] = array[j];array[j] = temp;}}}


/** 选择 */

int temp =0;for(int i=0; i< array.length-1; i++){ 首先认为第一个数就是最小的 记录数据和索引int minNum = array[i];int minIndex = i; 找出最小数for(int j =i +1; j< array.length; j++){if(minNum > array[j]){minNum = array[j];minIndex = j;}} 交换最小值temp = array[i];array[i] = array[minIndex];array[minIndex] = temp;}

 

//插入排序

for(int i = 1; i< array.length; i++){int insertValue= array[i];int index = i-1;while(index >= 0 && insertValue < array[index]){array[index+1] = array[index];index--;}array[index +1] = insertValue;}


快速排序

private int[] sort(int left,int right,int[]array) {int leftIndex = left;int rightIndex = right;int pivot=array[(left+right)/2];int temp=0;while(leftIndex < rightIndex){while(array[leftIndex] < pivot){leftIndex ++;}while(array[rightIndex] > pivot){rightIndex --;}if(leftIndex >= rightIndex) break;temp = array[leftIndex];array[leftIndex] = array[rightIndex];array[rightIndex] = temp;if(array[leftIndex] == pivot) --rightIndex;if(array[rightIndex]==pivot) ++leftIndex;}if(leftIndex == rightIndex){leftIndex++;rightIndex--;}if(left < rightIndex)  sort(left,rightIndex,array);if(right > leftIndex) sort(leftIndex,right,array);return array;}


 


 

原创粉丝点击