<C> 冒泡排序及其非常非常非常简单的优化
话不多说 直接上代码
1 #include<stdio.h> 2 3 #define ARRLEN(a) sizeof(a)/sizeof(a[0]) 4 5 int main() 6 { 7 int arr[10] = {9,5,1,7,3,4,8,2,6,0}; 8 9 int i,j; 10 int temp; 11 int mark; 12 13 for(j=0;j<ARRLEN(arr)-1;j++) 14 { 15 mark = 0; 16 for(i=0;i<ARRLEN(arr)-1-j;i++) 17 { 18 if(arr[i] > arr[i+1]) 19 { 20 temp = arr[i]; 21 arr[i] = arr[i+1]; 22 arr[i+1] = temp; 23 } 24 mark = 1; 25 } 26 if(mark ==0) 27 { 28 break; 29 } 30 } 31 32 for(i=0;i<10;i++) 33 { 34 printf("%d\n",arr[i]); 35 } 36 37 return 0; 38 }
PS:哭唧唧 这个优化实在是太low了 希望以后可以学到更加优化的优化 美滋滋~