今天重新看下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 }
时间: 2024-10-16 13:18:15