数组的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 guxlei1
  • 开始时间 开始时间
G

guxlei1

Unregistered / Unconfirmed
GUEST, unregistred user!
一个数组
arr[0]:='a';
arr[1]:='b';
arr[2]:='c'

我想从这个数组把arr[1]=b 删除,要怎么写程序,删除了是不是arr[1]:=c了?
 
一个数组
arr[0]:='a';
arr[1]:='b';
arr[2]:='c'

我想从这个数组把arr[1]=b 删除,要怎么写程序,删除了是不是arr[1]:=c了?
 
不是
删除数组中的一个元素,你要把后面元素提前一个位置就可以了(数组大小也相应的减一)
这里你要arr[1]:=arr[2];
arr[1]=c了
 
哦。这个代码好象只是给数组元素赋值啊。可以吗?
 
试过了。不行。有别的办法吗?
按照你的方法,数组还是三个元素。
难道要不数组的下一个元素的值全赋给上一个元素吗?
 
var
i: integer;

for i:=1 to high(arr)-1 do//i就是你要删的那个元素的下标
arr := arr[i+1];
 
要想删除arr[1]:='b',没有别的办法,只能像ak_2005说的那个,用循环,一个个倒一下.
不过,你要想实现你说的那个功能的话,你不应该使用数组,应该用TStrings,那个直接delete就行了.,
 
多人接受答案了。
 
后退
顶部