陌上看花人

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 /*选择排序*/ 
 2 #include <iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,i,j,a[n+1],d;
 7     cin>>n;
 8     cout<<"请输入"<<n<<"个数进行排序:"<<endl;
 9     for(i=1;i<=n;i++)//输入n个数字 
10     {
11         cout<<""<<i<<"个数"<<endl;
12         cin>>a[i]; 
13     }
14     for(i=1;i<n;i++)//进行n-1轮比较 
15     {
16         d=i;//选择每轮第一个为假定最大数 
17         for(j=i+1;j<=n;j++)//将假定的最大数与其后的数一一比较 
18         {
19             if(a[j]>a[i])//选出其后的最大值 
20             d=j;//做标记 
21         }
22         if(d!=i)//判断是否有比假定数大的数存在,有,就把他和假定数互换 
23         {
24             int temp;
25             temp=a[i];
26             a[i]=a[d];
27             a[d]=temp;
28         }
29     }
30     for(i=1;i<=n;i++)//输出从大到小排好序的n个数 
31     {
32         cout<<a[i]<<" ";
33     }
34     return 0;
35 }

 

posted on 2017-02-25 20:41  啊咿呀哈  阅读(138)  评论(0编辑  收藏  举报