1. 一维数组快速排序之选择排序
选择排序原理:拿数组的第一个元素和其他元素相比较,如果这个元素大于其他元素,那么交换他们的位置(每一轮把最小值放到了前面)
例:public static void P1(){
int[] ary = {4,6,9,2,3,7,1,8,5}; //一维数组
for(int i = 0; i<ary.length-1;i++){
for (int j = i+1; j < ary.length; j++) {
if (ary[i]>ary[j]) {
int temp = ary[i];
ary[i] = ary[j];
ary[j] = temp;
}
}
}
System.out.println(Arrays.toString(ary));
}
2. 一维数组快速排序之冒泡排序
冒泡排序原理:拿数组相邻的两个元素相比,如果前面那个大于后面那个,那么交换他们的位置(每一轮都把最大的值放在后面)
例:public static void P2(){
int[] ary = {4,6,9,2,3,7,1,8,5}; //一维数组
for(int i = 0;i < ary.length-1;i++){
for(int j = 0;j < ary.length-i-1;j++){
if(ary[j]>ary[j+1]){
int temp = ary[j+1];
ary[j+1] = ary[j];
ary[j] = temp;
}
}
}
System.out.println(Arrays.toString(ary));
}
3. 一维数组快速排序之插入排序
插入排序原理:把数组分成两个部分,拿后面那个部分的第一个值,去跟前面那个匹配,找到合适的位置插入
例:public static void P3(){
int[] ary = {4,6,9,2,3,7,1,8,5};//一维数组
int temp,i,j;
for(i = 1;i < ary.length;i++){
temp = ary[i];
j = i-1;
while(j >= 0 && temp < ary[j]){
ary[j+1] = ary[j];
j--;
}
ary[j+1] = temp;
}
System.out.println(Arrays.toString(ary));
}
4.java提供快速排序方法:Arrays.sort(ary);
例:public static void P4(){
int[] ary = {4,6,9,2,3,7,1,8,5};
Arrays.sort(ary);
System.out.println(Arrays.toString(ary));
}