c++选择排序法

选择排序法的原理是:对于一行要排序的数,设一个变量保存要排序的数中的第一个数的下标,然后依此比较这个变量所存储的下标的这个数和后面所有剩余的数比较大下,如果后面有数小于(或者大于)这个变量所存储的这个下标所代表的的这个数,就交换彼此的下标。第一趟比较完之后最大的(最小的)数就成为这行要排列的数中的第一个。然后比较第二趟,.....第n-1趟。

就是如果有n个数比较大小,则进行n-1趟的比较,第j趟进行n-j次比较。

下面是一个存储十个元素的一位数组中的数按照从小到大的顺序排列大小。

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

int i,j,k,t,a[10];

cout<<"enter"<<endl;

for(i=0;i<10;i++)

cin>>a[i];

cout<<"sorted:"<<endl;

for(i=0;i<9;i++)

{

k=i;

for(j=i+1;j<10;j++)

if(a[j]<a[k])

k=j;

if(k!=i)

{

t=a[i];

a[i]=a[k];

a[k]=t;

}

}

cout<<"input:"<<endl;

for(i=0;i<10;i++)

{

cout<<a[i];

}

cout<<endl;

return 0;

}


本文出自 “hagar” 博客,谢绝转载!

你可能感兴趣的:(C++,选择,排序法)