怎样为动态数组插入或删除元素

怎样为动态数组插入或删除元素,第1张

----解决方案--------------------

链表也是用动态数组实现的,原理是一样的。

------解决方案--------------------

数组是连续存放的,好像没什么特别好的办法,一般只能用循环一个一个的移动,如果比较有规律,或许可以用内存的复制来偷个懒,

------解决方案--------------------

数组就别偷懒了

------解决方案--------------------

你设置的是10 那么是从数组下标是从0开始的

Delphi(Pascal) code//数据 初始化

for i:=0 to 8 do

begin

if i<5 then p[i]:=i+1

if i>=5 then p[i]:=i+2

end

//增添procedure

procedure addNumber

var

i:Integer

begin

for i:=9 to 0 do if i>=5 then p[i]=p[i-1]

p5]:=6

end

下标有误.

就拿arr来说,

第一个循环后,list[i]=1,删除的是b,arr此时为["a","c"].

第二个循环后,list[i]=3,此时arr[3],是没有值的,甚至arr[2]都没有.此时arr还是["a","c"]

最后arr为["a","c"]

同理,其他的是留下了第一和第三个元素,即下标为0,2(循环结束后当然是1了)的元素。

alert的结果也就是 a,c1,3A,C 了


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

原文地址: http://outofmemory.cn/bake/11646778.html

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

发表评论

登录后才能评论

评论列表(0条)

保存