冒泡 选择 插入排序
一时兴起,写一下这三种排序的代码
冒泡排序
//一直找最大的放到最后面
#include<iostream>
#include<algorithm>
using namespace std;
int a[10];
int main()
{
//先输入这个数组
for(int i=0;i<10;i++)
{
cin>>a[i];
}
int n=sizeof(a)/sizeof(a[0]);
if(n<2) return 0;
for(int end=n-1;end>0;end--)
{
for(int i=0;i<end;i++)
{
if(a[i]>a[i+1])
swap(a[i],a[i+1]);
}
}
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}
选择排序
#include<iostream>
#include<algorithm>
using namespace std;
int a[10];
int main()
{
//先输入这个数组
for(int i=0;i<10;i++)
{
cin>>a[i];
}
int n=sizeof(a)/sizeof(a[0]);
if(n<2) return 0;
//找最小的 放最前面
for(int i=0;i<n-1;i++)
{
int minindex=i;
for(int j=i+1;j<n;j++)
{
minindex=a[j]<a[minindex]?j:minindex;
}
swap(a[minindex],a[i]);
}
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}
插入排序
#include<iostream>
#include<algorithm>
using namespace std;
int a[10];
int main()
{
//先输入这个数组
for(int i=0;i<10;i++)
{
cin>>a[i];
}
int n=sizeof(a)/sizeof(a[0]);
if(n<2) return 0;
//从第二个数开始,依次与前面的比较
for(int i=1;i<n;i++)
{
for(int j=i-1;j>=0 && a[j]>a[j+1];j--)
{
swap(a[j],a[j+1]);
}
}
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}