双向冒泡
1 package com.huang;
2
3 public class _014_bubb_sort {
4
5 int[] b={1,2};
6 static int a[]={12,4,35,65,43,63,2,6,9,544,43543};
7 public static void main(String[] args) {
8 display();
9
10 //冒泡
11 for(int i=0;i<a.length/2;i++)
12 {
13 for(int j=0;j<a.length-i-1;j++)
14 {
15 if(a[j]>a[j+1])
16 {
17 int temp=a[j];
18 a[j]=a[j+1];
19 a[j+1]=temp;
20 }
21 }
22
23 for(int j=a.length-i-1;j>i;j--)
24 {
25 if(a[j-1]>a[j])
26 {
27 int temp=a[j];
28 a[j]=a[j-1];
29 a[j-1]=temp;
30 }
31 }
32
33 }
34
35
36
37 display();
38
39
40
41 }
42
43
44
45 public static void display(){
46 for(int i=0;i<a.length;i++)
47 {
48 System.out.print(a[i]+" ");
49 }
50 System.out.println();
51 }
52 }
选择排序
1 package com.huang;
2
3 public class _015_select_sort_get_min_to_left {
4
5 static int a[]={12,65475675,4,35,65,43,63,2,6,9,544,43543};
6 public static void main(String[] args) {
7 display();
8
9 //选择排序 得到最小值下标 然后换到最左边
10
11 for(int i=0;i<a.length-1;i++)
12 {
13 int min=i;
14 for(int j=i+1;j<a.length;j++)
15 {
16 if(a[j]<a[min])
17 {
18 min=j;
19 }
20 }
21 int temp=a[min];
22 a[min]=a[i];
23 a[i]=temp;
24 }
25
26
27
28 display();
29
30
31
32 }
33
34
35
36 public static void display(){
37 for(int i=0;i<a.length;i++)
38 {
39 System.out.print(a[i]+" ");
40 }
41 System.out.println();
42 }
43 }
插入排序
1 package com.huang;
2
3 public class _016_insert_sort_move_right_1 {
4
5 static int a[]={12,65475675,4,35,65,43,63,2,6,9,544,43543};
6 public static void main(String[] args) {
7 display();
8
9 //插入排序 不是2个for循环 而是1个for循环加一个while循环 带右移
10 for(int i=1;i<a.length;i++)
11 {
12 int temp=a[i];
13 int j=i-1;//从这个数的左边开始比较
14 while(j>=0&&a[j]>temp)//注意不能把temp换成a[i]因为a[i]要变 //j>=0 =0表示要排列第一个数
15 {
16 a[j+1]=a[j];//右移
17 j--;//回溯
18 }
19
20 a[j+1]=temp;//插入
21 }
22
23
24
25
26 display();
27
28
29
30 }
31
32
33
34 public static void display(){
35 for(int i=0;i<a.length;i++)
36 {
37 System.out.print(a[i]+" ");
38 }
39 System.out.println();
40 }
41 }
时间: 2024-10-16 01:48:10