C语言数组的删除,插入

C语言数组的删除,插入,第1张

建议加一个全局变量用于存储当前有多少有效数据。

就先假设是CURRENT_NUM好了

删除的话:

//假设删除第target位

//(数组下标为从0~CURRENT_NUM-1 如果不一样的话稍微改下就好)

if(target<0||target>=CURRENT_NUM)

{

    //越界处理

}else{ 

    for(int i=target+1i<CURRENT_NUMi++)

        s[i-1]=s[i]

    CURRENT_NUM--

}

插入的话思想类似

//假设插入第target位

//(数组下标为从0~CURRENT_NUM-1 如果不一样的话稍微改下就好)

if(target<0||target>CURRENT_NUM)    //target可以等于CURRNET_NUM是因为可以插入到数组尾 

{

    //越界处理

}else{ 

    for(int i=targeti<CURRENT_NUMi++)

        s[i+1]=s[i]

    //对s[target]进行赋值

    CURRENT_NUM++ 

}

#include\x0d\x0atypedef struct Node{\x0d\x0aint a,b\x0d\x0a}node\x0d\x0anode c[100]\x0d\x0aint n\x0d\x0avoid print(){\x0d\x0a int i\x0d\x0a printf("\n当前数据:\n")\x0d\x0a for(i=1i 回答于 2022-12-11


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11615727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存