C常用排序算法

今天重新看下C排序算法,快速、冒泡、选择排序。

 1 void qsortuser(int a[],int m,int n)
 2 {
 3     int i=m,j=n-1,k=a[m];
 4     if(m<n-1)
 5     {
 6         while(i<j)
 7         {
 8             while(i<j&&a[j]>k) j--;
 9             if(i<j){a[i] = a[j];i++;}
10             while(i<j&&a[i]<k) i++;
11             if(i<j){a[j] = a[i];j--;}
12         }
13         a[i] = k;
14         qsortuser(a,m,i);
15         qsortuser(a,i+1,n);
16     }
17 }
18 void maopao(int a[],int m,int n)
19 {
20     int i,j;
21     for(i=m;i<n;i++)
22     for(j=m;j<n-(i-m);j++)
23     {
24         if(a[j]>a[j+1])
25         {
26             a[j] = a[j]^a[j+1];
27             a[j+1] = a[j]^a[j+1];
28             a[j] = a[j]^a[j+1];
29         }
30     }
31 }
32 void selpaixu(int a[],int m,int n)
33 {
34     int i,j;
35     for(i=m;i<n;i++)
36     {
37         for(j=1+i;j<n;j++)
38         {
39             if(a[i]>a[j])
40             {
41                 a[i] = a[i]^a[j];
42                 a[j] = a[i]^a[j];
43                 a[i] = a[i]^a[j];
44             }
45         }
46     }
47 }

 

posted @ 2014-09-08 12:57  Tian Bo  阅读(206)  评论(0)    收藏  举报