如何在C语言项目中添加数组和删除元素

  介绍

今天就跟大家聊聊有关如何在C语言项目中添加数组和删除元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

数组不擅长插入(添加)和删除元素。数组的优点在于它是连续的,所以查找数据速度很快。但这也是它的一个缺点。正因为它是连续的,所以当插入一个元素时,插入点后所有的元素全部都要向后移;而删除一个元素时,删除点后所有的元素全部都要向前移。

插入算法

#, include  & lt; stdio.h>   int 主要(空白)   {   int 才能;[23],=,{1,,5,66年,,,,,55岁,,,,1,,32岁,5日,65年,,4,8日,5日,15日,64年,156年,1564年,,,,1,,8日,9日,7日,215};   int 才能;b[24];,//用来存放插入数字后的新数组,,因为又插入了一个值,,所以长度为24   ,,int 指数;//插入值的下标,,指数是“下标”的英文单词   int 才能,num;,//插入的值   int 才能,,,//循环变量   ,,printf(“请输入插入值的下标:“);   scanf才能(“% d",,,指数);   ,,printf(“请输入插入的数值:“);   scanf才能(“% d",,, num);   for 才能;(i=0;, i<24,, + + i)   {才能   ,,,if (小姐:& lt;,指数)   ,,,{   ,,,,,(我),b=,[我];,/*循环变量我小于插入值位置指数时,每一个元素所放的位置不变*/,,,}   ,,,else  if (小姐:==,指数)   ,,,{,,   ,,,,,(我),b=, num;,//我等于指数时,将插入值赋给数b组   ,,,}   ,,,   ,,,{   ,,,,,(我),b=,(张),,/*因为插入了一个新的元素,,所以插入位置后的每一个元素所存放的位置都要向后移一位*/,,,}   ,,}   for 才能;(i=0;, i<24,, + + i)   {才能   ,,,printf (“% d \ x20",, b[我]);   ,,}   ,,printf (“\ n");   return 才能;0;   }

输出结果是:
请输入插入值的下标:10请输入插入的数值:22
1 5 66 65 55 9 1 32 5 22 4 8 5 15 1 9 8 7 64 156 1564 215

删除算法

#, include  & lt; stdio.h>   int 主要(空白)   {   int 才能;[23],=,{1,,5,66年,,,,,55岁,,,,1,,32岁,5日,65年,,4,8日,5日,15日,64年,156年,1564年,,,,1,,8日,9日,7日,215};   int 才能;b[22];,/*用来存放删除数字后的新数组,,因为删除了一个值,,所以长度为22 */,,int 指数;//要删除的值的下标   int 才能,,,//循环变量   ,,printf(“请输入要删除的值的下标:“);   scanf才能(“% d",,,指数);   for 才能;(i=0;, i<23,, + + i)   {才能   ,,,if (小姐:& lt;,指数)   ,,,{   ,,,,,(我),b=,[我];,/*循环变量我小于插入值位置指数时,每一个元素所存放的位置不变*/,,,}   ,,,   ,,,{   ,,,,,(我),b=, (i + 1);,/*删除值后面的元素都往前移一位,,要删除的值直接被覆盖*/,,,}   ,,}   for 才能;(i=0;, i<22,, + + i)   {才能   ,,,printf (“% d \ x20",, b[我]);,//,\ x20的表示空格   ,,}   ,,printf (“\ n");   return 才能;0;   }

输出结果是:
请输入要删除的值的下标:5
1 5 66 65 55 1 32 5 4 8 5 15 1 9 8 7 64 156 1564 215

实例

37岁,49岁,51岁,61。设计程序对数组中的数据实现一次删除及插入操作:

利用获取字符()函数接收键盘输入:
●当输入字符& # 39;D # 39;时,接收键盘输入一个数组中存在的整数n,并对数组中存在的该整数进行删除,要求删除后的数组各元素仍按照从小到大的顺序排列。
要求:不使用冒泡法或选择法实现删除数据后的排序操作。
●当输入字符& # 39;我# 39;时,接收键盘输入一个数组中不存在的整数m,并将该整数m插入到数组中,要求插入后的数组各元素仍按照从小到大的顺序排列。
要求:不使用冒泡法或选择法实现插入数据后的排序操作。

样例输入和输出:
数组排序后的结果为:5日,9日,11日,16日,24日,34岁,37岁,49岁,51岁,61年

请输入需要进行的操作(插入& # 39;我# 39;,删除& # 39;D # 39;): D
请输入需要删除的整数:9
删除后的数组为:5日,11日,16日,24日,34岁,37岁,49岁,51岁,61年

请输入需要进行的操作(插入& # 39;我# 39;,删除& # 39;D # 39;):我
请输入需要插入的整数:13
插入后的数组为:5、11、13、16、24日,34岁,37岁,49岁,51岁,61年

# include  & lt; stdio.h>      int  main ()   {   ,int [10],=,{, 5日,9日,11日,16日,24日,34岁,37岁,49岁,51岁,61年,};   ,int 小姐:=,0,n=0 k=0;   ,char 得到;   ,   ,for (小姐:=,0;,小姐:& lt;, 10;,我+ +)   ,,printf (“% 3 d",,(我));   ,printf (“\ n");   ,printf(“请输入需要进行的操作(插入“我# 39;,删除“d # 39;) \ n");   ,=,get 获取字符();   ,获取字符();   ,   ,if  (==& # 39; d # 39;)   ,{   ,,printf(“请输入要删除的整数:\ n");   n =,才能获取字符(),,   获取字符才能();   n 才能;-=,48岁;   for 才能;(小姐:=,0;,小姐:& lt;, 10;,我+ +)   {才能   if 才能;([我]==n)   {才能   ,,for (,小姐:& lt;, 10;,我+ +)   ,,{   ,,,(我),=,(小姐:+,- 1);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在C语言项目中添加数组和删除元素