一、选择排序
时间复杂度O(n3/2)
1 #include <stdio.h> 2 #define MAX 10000 3 4 int n, a[MAX], t; 5 6 int main() 7 { 8 scanf("%d", &n); 9 for(int i=1; i<=n; i++) 10 scanf("%d", &a[i]); 11 for(int i=1; i<n; i++) 12 { 13 for(int j=i+1; j<=n; j++) 14 { 15 if (a[i] > a[j]) 16 { 17 t = a[i]; 18 a[i] = a[j]; 19 a[j] = t; 20 } 21 } 22 } 23 for(int i=1; i<=n; i++) 24 printf("%d ", a[i]); 25 return 0; 26 }
二、冒泡排序
时间复杂度O(n2)
1 #include <stdio.h> 2 #define MAX 10000 3 4 int a[MAX]; 5 6 int main() 7 { 8 int t,n; 9 scanf("%d", &n); 10 for(int i=0; i<n; i++) 11 scanf("%d", &a[i]); 12 for(int i=0; i<n; i++) 13 { 14 for(int j=0; j<n-i-1; j++) 15 { 16 if(a[j] > a[j+1]) 17 t=a[j]; a[j]=a[j+1]; a[j+1]=t; 18 } 19 } 20 for(int i=0; i<n; i++) 21 printf("%d ", a[i]); 22 return 0; 23 }
持续更新中.....
原文:https://www.cnblogs.com/roger666/p/12571326.html