选择排序,冒泡排序,插入排序
作者:
Retired
,
2020-05-22 18:23:06
,
所有人可见
,
阅读 950
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=1e4+10;
int a[N];
//选择排序
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
{
int t=i;
for(int j=i+1;j<=n;j++)
{
if(a[j]<a[t])
{
t=j;
}
}
swap(a[i],a[t]);
cout<<a[i]<<" ";
}
}
//冒泡排序
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
{
int t=i;
for(int j=i+1;j<=n;j++)
{
if(a[j]<a[t])
{
swap(a[j],a[t]);
}
}
cout<<a[i]<<" ";
}
}
//插入排序
/*
第一个元素是有序的,
从遍历第二~第n个元素,如果a[i]<a[j],把a[i]插到a[j]的前边去,直到遍历完整理序列。
*/
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=2;i<=n;i++)
{
int j=i;
while(j>=1&&a[j]<=a[j-1])
swap(a[--j],a[j]);
}
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
}