选择排序-简单选择排序
2017-11-09 22:34
218 查看
#include<iostream> #include<vector> using namespace std; class Seletion { private: vector<int>A; vector<int>::iterator pa; vector<int>::iterator pb; //用作标记 public: Seletion(vector<int>B); void SeletionSort(); void Show(); }; Seletion::Seletion(vector<int>B):A(B) {} void Seletion::SeletionSort() { for(int i=0;i<A.size();++i) { int min=A[i]; for(pa=A.begin()+i;pa!=A.end();pa++) if(*pa<min) { pb=pa; min=*pa; } if(min!=A[i]) { int temp=A[i]; A[i]=min; *pb=temp; //如果不发生交换,会改变上一个值;所以务必加上if语句判断是否发生交换。 } } } void Seletion::Show() { for(pa=A.begin(); pa!=A.end(); pa++) cout<<*pa<<" "; cout<<endl; } int main() { int n; cout<<"输入容量初始大小:"; cin>>n; vector<int>B(n); vector<int>::iterator pb; for(pb=B.begin(); pb!=B.end(); pb++) cin>>*pb; Seletion A(B); A.SeletionSort(); 4000 A.Show(); }
相关文章推荐
- Java排序算法总结之(三)——选择排序(简单选择排序、堆排序)
- 选择排序(简单选择排序--改进的简单选择排序--堆排序)
- 选择排序—简单选择排序
- 选择排序_简单选择排序
- 选择排序——简单选择排序
- 选择排序:简单选择排序、堆排序
- 选择排序:简单选择排序、堆排序
- 选择排序——简单选择排序
- 选择排序之简单选择排序与堆排序C/C++
- 选择排序——简单选择排序
- 简单排序算法:简单选择排序(选择排序)
- 选择排序=》(简单选择排序)
- 选择排序——简单选择排序和堆排序
- 选择排序—简单选择排序(Simple Selection Sort)
- 选择排序-简单选择排序
- 选择排序-简单选择排序
- 选择排序(简单选择排序 and 堆排序)
- 选择排序-简单选择排序
- java算法之五简单选择排序(选择排序)
- 选择排序(1)——简单选择排序(selection sort)