【正确答案】若把插入操作放在函数insert中,待插入的数据放在形参x中,指针a指向主函数中的数组,指针n指向存放数组中元素个数的变量,因为插入后,数组中的数据会增加。函数的首部如下:
void insert(int*a, int x, int*n)
函数insert中插入步骤如下:
(1)确定插入的位置。用变量j来放置该位置在数组中的下标,以下while循环将完成此任务:
j=0;
while(j<*n&&a[j]<x)j++;
(2)把下标为j的元素后原有的数据移走,但不能改变原来的顺序:
for(i=*n-1; i>=j; i--)a[i+1]=a[i];
(3)把x放入a[j]中;
a[j]=x;
(4)使存放数据个数的变量中的数增1:
*n=*n+1;
插入过程到此结束。
【答案解析】