(C)简单排序法

1.冒泡排序法:

 1 //方法1--从小到大(假设有数组int array[n])
 2 void bubbleSort(int *array,int n)
 3 {
 4     int tmp;
 5     for(int i=0;i<n-1;i++) {
 6         for(int j=0;j<n-1-i;j++) {
 7             if(array[j]>array[j+1]) {
 8                 tmp=array[j];
 9                 arrar[j]=array[j+1];
10                 array[j+1]=tmp;
11             }
12         }
13     }
14 }
 1 //方法2--从大到小
 2 void bubbleSort(int *array,int n)
 3 {
 4     int tmp;
 5     for(int i=0;i<n;i++) {
 6         for(int j=n-1;j>i;j--) {
 7             if(array[j]>array[j-1]) {
 8                 tmp=array[j];
 9                 array[j]=array[j-1];
10                 array[j-1]=tmp;
11             }
12         }
13     }
14 }

2.交换排序法:

 1 void changeSort(int *array,int n)
 2 {
 3     int tmp;
 4     for(int i=0;i<n-1;i++)
 5         for(int j=i+1;j<n;j++)
 6             if(array[i]>array[j]) {
 7                 tmp=array[i];
 8                 array[i]=array[j];
 9                 array[j]=tmp;
10             }
11         }
12     }
13 }

3.选择排序法

 1 void selectSort(int *array,int n)
 2 {
 3     int tmp,ipos;
 4     for(int i=0;i<n-1;i++) {
 5         tmp=array[i];
 6         ipos=i;
 7         for(int j=0;j<n;j++) {
 8             if(tmp>array[j]) {    
 9                 tmp=array[j];
10                 ipos=j;
11             }
12         array[ipos]=array[i];
13         array[i]=tmp;
14     }
15 }

4.插入排序法

 1 //方法1--从小到大
 2 void insertSort(int *array,int n)
 3 {
 4     int tmp;
 5     for(int i=1;i<n-1;i++) {
 6         tmp=array[i];
 7         for(int j=i-1;j>=0;j--) {
 8             if(tmp<array[j]) {
 9                 array[j+1]=array[j];    
10             }//块移位,空出需要插入的位置
11           else 
12                  break;
13         }
14         array[j+1]=tmp;
15     }
16 }
17 
18 //方法2--从大到小
19 void insertSort(int *array,int n)
20 {
21     int tmp,j;
22     for(int i=1;i<n;i++) {
23         tmp=array[i];
24         j=i;
25         while(j>0&&tmp>array[j-1]) { 
26             array[j]=array[j-1];
27             j--;
28         }    
29         array[j]=tmp;
30     }
31 }

 

posted @ 2013-06-13 15:55  MingFung_Liu  阅读(180)  评论(0编辑  收藏  举报