选择排序
来源:互联网 发布:网络直销的特点 编辑:程序博客网 时间:2024/06/05 06:45
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其 最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。
我的测试代码:
1 /************************************************************************* 2 > File Name: bubble_sort.c 3 > Author: qiaoyihan 4 > Mail: yihan.ty@gmial.com 5 > Declare: 6 > Created Time: 2013年12月20日 星期五 22时20分53秒 7 ************************************************************************/ 8 9 #include<stdio.h>10 11 void sele_sort(int a[], int len)12 {13 int i,j,min,temp;14 for(i=0; i<len-1; i++){15 min = i;16 for(j=i+1; j<len; j++)17 if(a[j] < a[min])18 min = j; 19 if(min != i){20 temp = a[min];21 a[min] = a[i];22 a[i] = temp;23 }24 }25 }26 27 void main(void)28 {29 int i;30 int num[] = {2, 6, 42, 67, 3, 12, 54};31 int len = sizeof(num)/sizeof(int);32 sele_sort(num, len);33 34 for(i=0; i<len; i++)35 printf("%d ", num[i]);36 printf("\n");37 }
0 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- NSDictionary,NSMUtableDictionary-OC+class
- Java 回调机制及其Spring 中HibernateTemplate的源码分析
- 敏捷之旅2013北京站的总结
- 将文件夹下面的文件移到指定文件夹
- 32 位应用程序转换为 64 位应用程序
- 选择排序
- 上海Java技术沙龙第6期
- Android网络HttpURLConnection和HttpClient
- Word中插入目录时未找到目录项
- ListView具有多种item布局——实现微信对话列
- jsp 设置自己喜欢的input:file样式
- 三和先生 筆寫本 (孫子)
- Spring配置datasource的三种方式
- 软件工程之系统建模篇【设计用例控制类模型】