(参考:尚硅谷_宋红康_Java语言基础)
数组的冒泡排序
package de1;
public class Test2 {
public static void main(String[] args) {
int[] arr=new int[] {-6,-3,0,1,3,5,9,56,58,99};
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-i-1;j++) {
if (arr[j] > arr[j+1])
{
int buf = arr[j];
arr[j] = arr[j+1];
arr[j+1] = buf;
}
}
}
for(int x:arr) {
System.out.print(x+" ");
}
}
}
数组的快速排序
package de1;
public class Test2 {
private static void swap(int[] data,int i,int j) {
int temp = data[i];
data[i] = data[j];
data[j] = temp;
}
public static void subsort(int[] data,int start,int end) {
if(start < end) {
int base = data[start];
int low = start;
int high = end + 1;
while(true) {
while(low < end && data[++low] - base <=0)
;
while(high > start && data[--high] - base >=0)
;
if(low < high) {
swap(data,low,high);
}else {
break;
}
swap(data,start,high);
subsort(data,start,high-1);
subsort(data,high+1,end);
}
}
}
public static void quicksort(int[] data) {
subsort(data,0,data.length-1);
}
public static void main(String[] args) {
int[] data = {-9,-16,30,85,45,14,12,2,-9,-85,6,9};
System.out.println("排序前:\n"+java.util.Arrays.toString(data));
quicksort(data);
System.out.println("排序后:\n"+java.util.Arrays.toString(data));
}
}