选择排序 C&&C++

选择排序
选择排序即在每一步中选取最小值重新排列,从而达到排序的目的
 
流程:
(1)先从原始数组选择一个最小数据和第一个位置交换
(2)剩下的n-1个数据选择最小的和第二个位置交换
(3)不断重复直到最后执行完成
 
 
 1 #include<iostream>
 2 #include<cstdlib>
 3 #include<ctime>
 4 using namespace std;
 5 void SelectionSort(int a[],int len)
 6 {
 7     int k,t;
 8     for (int i = 0; i < len-1; i++)
 9     {
10         k=i;
11         for (int j = i+1; j < len; j++)
12         {
13             if (a[j]<a[k]) k=j;
14         }
15         if (k!=i)
16         {
17             t=a[k];
18             a[k]=a[i];
19             a[i]=t;
20         }
21         cout<<"Sort Result in"<<i+1<<"step:"<<endl;          //输出每一步的排序结果
22  
23         for (int k = 0; k < len; k++) cout<<a[k]<<" ";
24         cout<<endl;
25         
26     }
27     
28 }
29 int main()
30 {
31     int array[10];
32     srand(time(NULL));                             //这里采用随机数输入数组
33     cout<<"Array before sorting:"<<endl;
34     for (int i = 0; i < 10; i++)
35     {
36         array[i]=rand()/1000;
37         cout<<array[i]<<" ";
38     }
39     cout<<endl;
40     SelectionSort(array,10);
41     cout<<"Array after sorting:"<<endl;
42     for (int i = 0; i < 10; i++) cout<<array[i]<<" ";
43     cout<<endl;
44     return 0;
45 }

 

 
 
 
 
posted @ 2019-11-28 11:32  Cyber_8086_hyj  阅读(142)  评论(0编辑  收藏  举报