简单选择排序
基本思想:
在待排序数组中选出最小的(或最大)的与第一个位置的数据交换 然后
在剩下的待排序数组中找出最小(或最大)的与第二个位置的数据交换,以此类推,直到第n-1个元素。
简单选择排序可以说是冒泡排序的一种改版,它不再两两比较出较小数就进行交换,而是每次遍历比较当前数的后面所有数,最后再把最小的数和当前数进行交换。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[5]={-1,04,19,23,1};
int temp;
int min;//最小的那个数的下标
for(int i=0;i<5;i++)
{
min=i;
for(int j=i;j<5;j++)
{
if(a[j]<a[min])
{
min=j;
}
}
temp=a[min];//让min和a[i]交换
a[min]=a[i];
a[i]=temp;
}
for(int i=0;i<5;i++)
{
cout<<a[i]<<" ";
}
}