1.冒泡排序:重复走访过要排序的数列,一次比较两个元素,如果他们的顺序(从大到小、首字母从A到Z)错误就把他们交换过来。
1 #include<stdio.h> 2 void bubble_sort(int arr[] , int len) 3 { 4 int i,j,temp; 5 for ( i=0; i<len; i++) //重复走访len-1次 6 for( j=0; j<len-1-i; j++) //每次走访交换len-1-i次数据。每一次的数据会放到最后面,所以是 (len-1-i)次,也可以是len-1次,这样子会运行更多次,耗费更多内存 7 if(arr[j] > arr[j+1]) 8 { 9 temp = arr[j]; 10 arr[j] = arr[j+1]; 11 arr[j+1] = temp; 12 } 13 } 14 int main() 15 { 16 int arr[] = {22,22,22,22,22,22,22}; 17 int len = (int)sizeof(arr) / sizeof(*arr); 18 bubble_sort(arr,len); 19 int i; 20 for( i=0; i<len; i++) 21 printf("&d",arr[i]); 22 return 0; 23 }
2.选择排序:首先在未排序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
原文:https://www.cnblogs.com/CYYZLGK/p/13058389.html