/** 冒泡 */
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;
}