Problem Description
使用插入排序算法和冒泡排序算法对输入的n个整数,按照从小到大的顺序排序。
Input Description
第一行输入一个整数n(0<n<10000)。
第二行输入n个整数。
Output Description
输出排序后的整数,每个整数之间以一个空格分隔。
注意:最后一个整数后面没有空格。
Sample Input
10
11 34 82 7 64 98 47 18 79 20
Sample Output
7 11 18 20 34 47 64 79 82 98
#include <stdio.h>
void bubble_sort(int n, int a[n]);
int main()
{
int n;
scanf("%d", &n);
int a[n];
for(int i = 0; i < n; i++)
scanf("%d", &a[i]);
bobble_sort(n, a);
for(int i = 0; i < n; i++)
{
if(i == 0)
printf("%d", a[0]);
else
printf(" %d", a[i]);
}
return 0;
}
void bobble_sort(int n, int a[n])
{
int flag = 0;
for(int j = 1; j < n; j++)//n个数扫描n-1遍
{
if(flag == 1)
return;
flag = 1;
for(int i = 0; i < n - j; i++)
{
if(a[i] > a[i + 1])
{
int b;
b = a[i];
a[i] = a[i + 1];
a[i + 1] = b;
flag = 0;
}
}
}
}