6.2
输入数组a( 长度为n, n<10),对元素按由小到大顺序排列,然后再输入一个数b插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列。
输入(第一行数组大小n,第二行为输入的数组,第三行为插入的整数):
5
5 2 3 4 8
7
输出:
2 3 4 5 7 8
样例输入:
5
5 2 3 4 8
7
样例输出:
2 3 4 5 7 8
#include<stdio.h>
void bubble(int *array, int n)//定义冒泡排序函数,含指针
{
int i, j, h;
for (i = 0; i < n - 1; i++)//使下面的梳理顺序再次执行(最多只需执行n-1次,例如43210,经过5-1=4次梳理,可得43210)
{
for (j= 0; j < n - i - 1; j++)//单次梳理顺序,顺序排列(例如43210,经过1次梳理,可得32104)
{
if (array[j] > array[j + 1])//数值交换
{
h = array[j + 1]; array[j + 1] = array[j]; array[j] = h;
}
}
}
}
int main()
{
int n,m, b, c, array[100];//n为原数组元素数,m为新添数
scanf("%d", &n);
for (b = 0; b < n; b++)
scanf("%d ", &array[b]);
scanf("%d", &m);
array[n] = m;
bubble(array, n+1);//数组内重置
printf("%d", array[0]);
for (c = 1; c <=n; c++)
printf(" %d", array[c]);
system("pause");
return 0;
}