Java冒泡排序和选择排序

1、选择排序:一个数和所有的数做对比,选择最大或者最小值

Java程序实例:

 1 public class ArrayPractice{
 2     public static void main(String[] args) {
 3         int[] a;
 4         a = new int[args.length];
 5         for(int i = 0; i < args.length; i++) {
 6             a[i] = Integer.parseInt(args[i]);
 7         }
 8         print(a);
 9         selectionSort(a);
10         print(a);
11     }
12 
13     private static void selectionSort(int[] a) {
14         for(int i=0; i<a.length-1; i++) {
15             for(int j=i+1; j<a.length; j++) {
16                 if(a[i] > a[j]) {
17                     int temp = a[j];
18                     a[j] = a[i];
19                     a[i] = temp;
20                 }
21             }
22         }
23     }
24 
25     private static void print(int[] a) {
26         for(int i=0; i<a.length; i++) {
27             System.out.print(a[i] + " ");
28         }
29         System.out.println();
30     }
31 }

编译并执行:

 

2、冒泡排序:前一个数和后一个数作对比,小的数(大的数)依次往前(往后)移

Java程序实例:

 1 public class BubbleTest{
 2     public static void main(String[] args) {
 3         int[] a;
 4         int len = args.length;
 5         a = new int[len];
 6         for(int i =0; i<len; i++) {
 7             a[i] = Integer.parseInt(args[i]);
 8         }
 9         print(a);
10         bubbleSort(a);
11         print(a);
12     }
13 
14     private static void bubbleSort(int[] a) {
15         int temp;
16         int len = a.length;
17         for(int i=len-1; i>=1; i--) {
18             for(int j=0; j<=i-1; j++){
19                 if(a[j]>a[j+1]) {
20                     temp = a[j];
21                     a[j] = a[j+1];
22                     a[j+1] = temp;
23                 }
24             }
25         }
26     }
27 
28     private static void print(int[] a) {
29         for(int i=0; i<a.length; i++) {
30             System.out.print(a[i] + " ");
31         }
32         System.out.println();
33     }
34 }

 编译并执行:

 

posted @ 2017-04-23 20:03  Cynthia_chao  阅读(228)  评论(0编辑  收藏  举报