C05.L01.插入与冒泡排序.冒泡排序
题目描述
输入 N 个整数,使用插入排序法从小到大输出。
输入格式
第一行 1 个正整数:N ,范围在[1,1000]。
第二行 N 个整数,每个整数范围在[0,1000000]。
输出格式
一行 N 个从小到大的整数。
样例
输入数据 1
4
5 3 6 1
Copy
输出数据 1
1 3 5 6
Copy
输入数据 2
4
5 5 1 9
Copy
输出数据 2
1 5 5 9
Copy
代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[1001];
int main()
{
int i,j,k,temp;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=2;i<=n;i++)
{
temp =a[i];
for(k=1;a[k]<=a[i]&&k<i;k++);
{
for(j=i-1;j>=k;j--)
{
a[j+1]=a[j];
}
}
a[k] = temp;
}
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
谢谢观看。