码迷,mamicode.com
首页 > 编程语言 > 详细

【排序】选择排序,C++实现

时间:2018-04-05 22:08:42      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:span   block   int   AC   temp   数据   i+1   ace   gpo   

# 基本思想

     每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止。

排序实例

初始关键字 [49 38 65 97 76 13 27 49]

第一趟排序后 13 [38 65 97 76 49 27 49]

第二趟排序后 13 27 [65 97 76 49 38 49]

第三趟排序后 13 27 38 [97 76 49 65 49]

第四趟排序后 13 27 38 49 [76 97 65 49 ]

第五趟排序后 13 27 38 49 49 [97 65 76]

第六趟排序后 13 27 38 49 49 65 [97 76]

第七趟排序后 13 27 38 49 49 65 76 [97]

最后排序结果 13 27 38 49 49 65 76 97

# C++代码

  1 # include<iostream>
  2 # include<vector>
  3 using namespace std;
  4 
  5 int main()
  6 {
  7     vector<int > vec={49,38,65,97,76,13,27,49};
  8 
  9     for(int i=0;i<vec.size()-1;++i)
 10     {
 11         int min = i;
 12 
 13         for(int j=i+1;j<vec.size();++j){
 14             if(vec[min]>vec[j])
 15                 min = j;
 16         }
 17 
 18         if(min!=i){
 19             int temp = vec[i];
 20             vec[i]=vec[min];
 21             vec[min]=temp;
 22         }
 23 
 24     }
 25     for(int i=0;i<vec.size();++i)
 26         cout<<vec[i]<<endl;
 27     return 0;
 28 }
 29 


【排序】选择排序,C++实现

标签:span   block   int   AC   temp   数据   i+1   ace   gpo   

原文地址:https://www.cnblogs.com/wanglei5205/p/8724331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!