C语言几种排序

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.选择排序:首先在未排序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

posted @ 2020-06-07 03:28  CYYZ凯撒  阅读(393)  评论(0)    收藏  举报