java基础排序方法

Contents
  1. 选择排序
  2. 冒泡排序
  3. 插入排序

选择排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class pxXuanZe{
public static void main(String[] args){
int[] arr={2,3,5,6,1,4}; //对该数组进行排序
for(int i=0;i<arr.length-1;i++){ //遍历数组角标为0到最大长度减一的数
for(int j=i+1;j<arr.length;j++){ //遍历角标i后面的数
if(arr[i]>arr[j]){ //比较大小,如果前者比后者大则交换两个角标对应的值
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" "); //打印排序后的值
}
}
}

冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class pxMaoPao{
public static void main(String[] args){
int[] arr={2,1,5,3,4,6}; //对该数组进行排序
for(int i=0;i<arr.length-1;i++){ //遍历数组角标为0到最大长度减一的数
for(int j=0;j<arr.length-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<arr.length;i++){
System.out.print(arr[i]+" "); //打印
}
}
}

插入排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class pxChaRu{
public static void main(String[] args){
int[] arr={1,5,4,3,2,6};
for(int i=1;i<arr.length;i++){ //遍历i从1到最大长度-1
int e=arr[i]; //创建e等于角标为i的数
int j=i-1; //j表示角标
while(j>=0&&arr[j]>e){ //当角标j大于等于0且j角标的数字大于大于i角标的数字
arr[j+1]=arr[j]; //交换j和j+1角标对于 的数字(即将所有大于该数字的数后移)
j--;
}
arr[j+1]=e; //循环结束后将e的值给角标j+1位置
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}