行业网站建设公司推荐,做任务什么网站,小米商城wordpress,企业网站模板免费下载问题#xff1a;假设有一个数组{1#xff0c;2#xff0c;3#xff0c;4#xff0c;5}#xff0c;如果我们要在3之后插入一个数#xff08;520#xff09;#xff0c;这该怎么办呢#xff1f;
思路#xff1a;要想在以元素3之后插入一个元素#xff0c;我们先要做…问题假设有一个数组{12345}如果我们要在3之后插入一个数520这该怎么办呢
思路要想在以元素3之后插入一个元素我们先要做的是让元素3后有一个空位。
错误思路先让元素4往后移动一个位置从而使元素3后有一个空位但这样会让元素5直接被元素4覆盖那么元素5将不会出现在数组中。
正确思路在数组的最后面增加一个空位从最后一个元素开始依次让原数组的元素向后移动直到元素3之后。
C程序代码如下
#includestdio.h
#define MAX_size 6int main(void)
{int s[MAX_size] { 1, 2, 3, 4, 5 };//(定义一个可以存放6个元素的数组)int element 520;//待插入的元素为520int length MAX_size - 1;//定义一个整型元素表示数组元素的个数int place 3;//待插入的元素将被插入在数组中的位置for (int i length; i place; i--)//给要插入的元素腾出空位{s[i] s[i - 1];}s[place] element;//插入元素for (int i 0; i MAX_size; i){printf(%d , s[i]);//输出插入后的元素}return 0;
}