数组不擅长插入和删除,数组的优点在于它是连续的,所以查找数据速度很快,但是这也是他的一个缺点。正因为他是连续的,所以当插入一个元素时,插入点后所有元素全部都要向后移动,而删除一个元素时,删除点后所有元素全部向前移动。
#include<stdio.h>
int main(void)
{
int a[23] = {1, 5, 66, 8, 55, 9, 1, 32, 5, 65, 4, 8, 5, 15, 64, 156, 1564, 15, 1, 8, 9, 7, ,215};
int b[24];
int Index;
int num;
int i;
printf("请输入插入值的下标:");
scanf("%d", &Index);
printf("请输入插入的数值:");
scanf("%d", &num);
for(i=0; i<24; ++i)
{
if(i<Index)
{
b[i] = a[i];
}
else if(i == Index)
{
b[i] = num;
}
else
{
b[i] = a[i-1]; //因为插入了一个新元素
}
for(i=0; i<24; ++i)
{
printf("%d\x20", b[i]);
}
printf("\n");
return 0;
}
}