三种简单排序:冒泡,选择,插入。
思想大体相同———相邻元素比较,得出升序或者降序排列
#include<iostream>
using namespace std;
int a[5];
void Bubblesort(){//将所有元素遍历比较 交换
for(int i=0;i<5;i++){
for (int j = i; j <5; j++)
{
if (a[i]>a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
void choosesort(){//选出所有元素中最大或者最小的,交换
for(int i=0;i<5;i++){
int k=i;
for(int j=i;j<5;j++){
if(a[j]<a[k]){
k=j;
}
}
int temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
void insertsort(){//前一个元素和相邻元素比较
for(int i=1,j=1;i<5;i++){
int temp=a[i],k=i;
while(j>0&&temp<a[j-1]){
k=j-1;
a[j-1]=temp;
}
}
}
int main(){
for(int i=0;i<5;i++){
cin>>a[i];
}
Bubblesort();
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
cout<<endl;
choosesort();
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
cout<<endl;
insertsort();
for(int i=0;i<5;i++){
cout<<a[i]<<" ";
}
}