简单排序算法

 1 package data.struct.algorithm;
 2 
 3 class BubbleSortArray{//冒泡排序
 4     private int[] arr;//封装的内容包括:数组和数组的长度
 5     private int len;
 6     public BubbleSortArray(int maxSize){
 7         arr=new int[maxSize];
 8         len=0;
 9     }
10     public void insert(int value){//数组中插入元素
11         arr[len]=value;
12         len++;
13     }
14     public  void display(){
15         for(int i=0;i<len;i++){
16             System.out.print(arr[i]+" ");
17         }
18         System.out.println();
19     }
20     
21     public void method_Bubble(){//冒泡排序
22         for(int i=0;i<len-1;i++){
23             for(int j=i+1;j<len;j++){
24                 if(arr[i]>arr[j]){
25                     swap(arr,i,j);
26                 }
27             }
28         }
29     }
30     public void method_insert(){//插入排序
31         int temp,j;
32         for(int i=1;i<len;i++){
33             temp=arr[i];
34             j=i;
35             while(j>0&&arr[j]>=temp){
36                 arr[j]=arr[j-1];
37                 j--;
38             }
39             arr[j]=temp;
40         }
41     }
42     public void method_select(){//选择排序
43         int flag;
44         for(int i=0;i<len-1;i++){
45             flag=i;
46             for(int j=i+1;j<len;j++){
47                 if(arr[j]<arr[flag]){
48                     flag=j;
49                 }
50             }
51             if(flag!=i){
52                 swap(arr, i, flag);
53             }
54         }
55     }
56     public  void swap(int[] arr2, int i, int j) {
57         int temp=arr2[i];
58         arr2[i]=arr2[j];
59         arr2[j]=temp;
60     }
61     public int length(){
62         return len;
63     }
64 }
65 public class SortMethod {
66 
67     /**
68      * @param args
69      */
70     /*
71      * 练习集中常见的排序算法,冒泡排序、选择排序、插入排序,我们把要排序的数组封装成数组对象
72      */
73     public static void main(String[] args) {
74         int maxSize=100;
75         BubbleSortArray arr=new BubbleSortArray(maxSize);
76         arr.insert(100);
77         arr.insert(50);
78         arr.insert(54);
79         arr.insert(25);
80         arr.insert(63);
81         arr.insert(78);
82         arr.insert(23);
83         arr.insert(12);
84         arr.insert(6);
85         arr.insert(99);
86         arr.display();
87 //        arr.method_Bubble();
88 //        arr.method_select();
89         arr.method_insert();
90         arr.display();
91         System.out.println(arr.length());
92     }
93 
94 }

 

posted @ 2016-04-03 11:13  菜鸟奋斗史  阅读(188)  评论(0编辑  收藏  举报