2:选择排序:对于给定的一组数据,经过第一轮找出最小值放大一个变量temp中,并将这个最小值所处的下标k保存下来,将这个最小值与第一个数据交换位置,就把最小值找到并将其放到新数组的第一列。程序如下:
选择排序:
#include "iostream"
using namespace std;
void xuanze(int *a,int n){
}
void main()
{
int i,j,k,d,n,temp;
int A[]={7,1,9,6,8};
d=sizeof(A)/sizeof(A[0]);
n=d;
for (i=0;i<n-1;i++)
{
temp=A[i];//每次重新定义temp,第一次,A[1]是temp,经过一番循环就变成了最小值的位置
k=i;
for(j=i+1;j<n;j++)
{
if (A[j]<temp)//保留最小值在temp,并记住其在数组中的位置k
{
temp=A[j];
k=j;
}
}
if(k!=i)//如果k的大小发生改变,也就是说最小值的位置发生改变,则换位置
{
A[k]=A[i];
A[i]=temp;
}
}
for(i=0;i<d;i++)
cout<<A[i]<<endl;
}