选择排序相关问题
来源:互联网 发布:java cs 编辑:程序博客网 时间:2024/05/16 04:45
原理
选择一个值array[0]作为标杆,然后循环找到除这个值外最小的值(查找小于标杆的最小值),交换这两个值,这时最小值就被放到了array[0]上,然后再将array[1]作为标杆,从剩下未排序的值中找到最小值,并交换这两个值。比冒泡排序减少交换次数。
代码
#include<iostream>#include<algorithm>using namespace std;void selectsort(int arr[], int n){ for (int i = 0; i < n-1; i++) { int min = i; /*以一个数为最小,遍历后面的,如果有最小,交换;以此类推, 第二个作为除第一个外最小,遍历第三个以及后面的,以此类推,得到选择排序结果*/ for (int j = i + 1; j < n; j++) { if (arr[j] < arr[min]) min = j; } swap(arr[i], arr[min]); }}int main(){ int n, arr[1000]; cin >> n; for (int i = 0; i < n; i++) cin >> arr[i]; selectsort(arr, n); for (int i = 0; i < n; i++) cout << arr[i] << " "; cout << endl; return 0;}
1 0
- 选择排序相关问题
- 【排序问题】选择排序
- 排序的选择问题
- 【排序相关】选择排序、插入排序、冒泡排序
- 数据库相关:排序问题
- STL中排序相关算法选择
- 排序 选择问题 Partition函数
- 排序问题二(简单选择排序)
- 排序算法问题:选择排序,冒泡排序,插入排序
- 选择排序算法中的交换数值问题
- 快速排序及快速选择问题
- 链表问题---单链表的选择排序
- java相关总结4--冒泡、选择、快速、插入排序
- 程序设计思想及范例(8),排序问题,选择法排序
- 七大排序问题之简单选择排序(PHP版)
- Java数组-选择排序-排序的性能问题
- 冒泡法排序的相关问题
- 大数据排序 去重相关问题
- 薛开宇学习笔记二之总结笔记--caffe imagenet训练中train_val.prototxt中数据层及其参数设置
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ...
- java jquery ajax Servlet jsp页面异步请求验证用户名
- RxPermissions源码分析:使用RxJava处理Android 6.0运行时动态权限获取
- Map解析
- 选择排序相关问题
- matlab 的 legend 用法
- 《深入理解Nginx》阅读与实践(一):Nginx安装配置与HelloWorld
- JZOJ 4886 字符串 KMP+DP
- [BZOJ2393]Cirno的完美算数教室(容斥原理+DFS)
- hive的like和rlike区别
- AsyncTask异步任务
- 正则贪婪与非贪婪原理
- MySQL学习之路_增删改查