private static void quickSort(int[] data, int i, int j) {
int pivotIndex = (i + j) / 2;
// swap
SortTest.swap(data, pivotIndex, j);
int k = partition(data, i - 1, j, data[j]);
SortTest.swap(data, k, j);
if ((k - i) > 1)
quickSort(data, i, k - 1);
if ((j - k) > 1)
quickSort(data, k + 1, j);
}
/**
* @param data
* @param i
* @param j
* @return
*/
private static int partition(int[] data, int l, int r, int pivot) {
do {
while (data[++l] < pivot)
;
while ((r != 0) && data[--r] > pivot)
;
SortTest.swap(data, l, r);
} while (l < r);
SortTest.swap(data, l, r);
return l;
}
} 作者: zfr930102 时间: 2016-6-27 12:37
我有上将潘凤 发表于 2016-6-24 16:38
谢谢 大神指点作者: gaojiangjian 时间: 2016-6-27 22:06
冒泡排序
int arr[];
int lenth=arr.size();
for(int i=0;i<lenth-1;i++){
for(int j=0;j<len-i-1;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
选择排序
for(int i=0;i<len-1;i++){
for(int j=0;j<len;j++){
if(arr[x]>arr[y]){
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}