冒泡排序:
public class bubbleSort {
public static void bubbleSort1(int [] a, int n){
int i, j;
for(i=0; i<n; i++){//表示 n 次排序过程。
for(j=1; j<n-i; j++){
if(a[j-1] > a[j]){//前面的数字大于后面的数字就交换
//交换 a[j-1]和 a[j]
int temp;
temp = a[j-1];
a[j-1] = a[j];
a[j]=temp;
}
}
}
}
public static void main(String[] args) {
int[] array = {15,3,11,13,5,7,17,19,1,9,};
int n = array.length;
System.out.println(Arrays.toString(array));
bubbleSort1(array,n);
System.out.println(Arrays.toString(array));
}
}
快速排序:
public class quickSort {
public static void quickSort(int[] arr,int low,int high){
int i,j,temp,t;
if(low>high){
return;
}
i=low;
j=high;
//temp就是基准位
temp = arr[low];
while (i<j) {
//先看右边,依次往左递减
while (temp<=arr[j]&&i<j) {
j--;
}
//再看左边,依次往右递增
while (temp>=arr[i]&&i<j) {
i++;
}
//如果满足条件则交换
if (i<j) {
t = arr[j];
arr[j] = arr[i];
arr[i] = t;
}
}
//最后将基准为与i和j相等位置的数字交换
arr[low] = arr[i];
arr[i] = temp;
//递归调用左半数组
quickSort(arr, low, j-1);
//递归调用右半数组
quickSort(arr, j+1, high);
}
public static void main(String[] args){
int[] arr = {6,1,2,7 ,9, 3, 4 ,5, 10, 8};
quickSort(arr, 0, arr.length-1);
// for (int i = 0; i < arr.length; i++) {
// System.out.println(arr[i]);
// }
System.out.println(Arrays.toString(arr));
}
}