选择排序(Selection Sort)
来源:互联网 发布:手机数据魔方 编辑:程序博客网 时间:2024/06/04 19:54
1 原理:
1) 外循环执行n-1次,内循环每次比较和交换n-i次(i为第i次外循环)
2) 从数组第一位开始循环,后面从第二个元素开始直到访问完数组中最后一个元素为止,遇到最小值则与之交换;然后进行第二次循环,从数组第二个元素开始,从第三个元素开始访问之后的所有元素,遇到最小值则与之交换……
2 时间复杂度(Time Complexity)
3 空间复杂度(Space Complexity)
4 稳定性
定义:所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。
因此选择排序不具有稳定性。
5 代码
//选择排序法#include <iostream>using namespace std;int main(){ //step 1:创建数组 void max(int b[],int n ); int a[5]; cout<<"input 5 numbers"; for (int j=1;j<6;j++) cin>>a[j]; //step 2:调用核心函数:选择排序 max(a,6); //step 3:打印排好序的数组 for (int k=1;k<6;k++) cout<<a[k]; return 0;}void max(int b[],int n ) //选择排序{ int m,min; for (int i=1;i<n-1;i++) { min=i; for (int j=i+1;j<n;j++) { if (b[j]<b[min] ) min=j; }//注意这个循环是通过脚标交换位置实现的 m=b[i]; b[i]=b[min]; b[min]=m; }}
0 0
- 选择排序(selection sort)
- 选择排序(Selection Sort)
- selection sort 选择排序
- 选择排序 Selection Sort
- 选择排序(Selection Sort)
- 选择排序(Selection Sort)
- 选择排序 (Selection Sort)
- 选择排序(Selection sort)
- 选择排序 (Selection sort)
- 选择排序Selection sort
- Selection Sort(选择排序)
- 选择排序(Selection Sort)
- Selection Sort选择排序
- selection sort 选择排序
- selection sort(选择排序)
- Selection sort 选择排序
- 选择排序Selection sort
- 选择排序(Selection Sort)
- java.langNoClassdefFoundError & java.lang.ClassNotFoundException
- ubuntu锁屏后,字符密码无法输入
- Swift3字符串转换为其他数据类型
- 重构:改善既有代码的设计
- Vue-router总结
- 选择排序(Selection Sort)
- 2132: 中南大学2017年ACM暑期集训前期训练题集(入门题)
- 接口和抽象区别的升华
- 图像抠图闭合方案 A Closed Form Solution to Natural Image Matting
- 欢迎使用CSDN-markdown编辑器
- Xshell使用教程——问答方式
- CSS思维导图总结二
- Java入门学习-理解float,double,unsigned,long,short,final,extends,implements的用法。
- xdoj 1191: 统计相似字符串