关于一维数组的排序有很多种,这里介绍基础的三种。
目录
选择排序
基本思路:从第一个元素开始,将元素不断与后面所有的元素作比较。如果后一个元素小于前者
就交换。以此类推,排序到最后,数据顺序就是从小到大。
#include<iostream>
using namespace std;
int main(){
int a[6],b,c;//以5个数为例。
for(int i=1;i<=5;i++)cin>>a[i];
for(int i=1;i<=5;i++){
b=i;//设初值
for(int j=i+1;j<=5;j++){
if(a[j]<a[b])b=j;
}
c=a[i];
a[i]=a[b];
a[b]=c;//交换
}
for(int i=1;i<=5;i++)cout<<a[i]<<' ';
return 0;
}
插入排序的缺点是效率慢且不稳定
冒泡排序
基本思路:从第一个数开始,不断将相邻两数比较,如果前一个元素大于后一个元素,就交换。