选择排序
来源:互联网 发布:足球怎么过人知乎 编辑:程序博客网 时间:2024/06/06 01:07
惯例,给大家介绍选择排序(以从小到大的位置为例说明)。
基本思想是,首先选出最小的数,放在第一个位置;然后选出第二小的数,放在第二个位置,......以此类推,进行排序。
还是以图来说明,更为专业的描述请大家自行搜索。
话不多说,奉上代码,如有错误请多指教!
#include<stdio.h> #define P 10 void selectsort(int p[],int length); int main() { int a[P] = {1,23,2,5,67,3,50,17,48,19}; int i,length; length = sizeof(a)/sizeof(a[0]); for(i=0;i<length;i++) { printf("%d ",a[i]); } printf("\n"); selectsort(a,length); printf("*******select sort*******\n"); for(i=0;i<length;i++) { printf("%d ",a[i]); } printf("\n"); return 0; } //选择排序 void selectsort(int p[],int length){ int i,j,k; int temp;// 要注意一点,当要排序 N 个数,已经经过 N-1 次遍历后,已经是有序数列 for(i=0;i<length-1;i++) { k = i;// 用来保存最小值得索引 for(j=i+1;j<length;j++) { if(p[k]>p[j]) k = j; }//与初始的i下标交换大小temp = p[i];p[i] = p[k];p[k] = temp; } }
阅读全文
1 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 经典JUnit测试
- [YTU]_2354 (实现复数类中的加运算符重载【C++运算符重载】)
- 文件本身操作NSManager
- Android_UI:Activity
- vue--computed
- 选择排序
- MFC:工具栏不显示图标
- B 同花顺
- SQL行转列汇总
- HDU1083 最大二分匹配
- [YTU]_2535( C++复数运算符重载(+与<<))
- 在C#中单击右键添加引用时弹出错误提示对话框
- 2017年的迷茫与悲痛
- 如何用pip安装xgboost