代码
procedure DeleteArray(var Buffer:Array of Integer;Position,Len:Integer);
var MoveStart,MoveLen:Integer;
begin
//检查是否越界
if Position<0 then
Raise Exception.Create(
'BOF.');
if Position>=Length(Buffer) then
Raise Exception.Create(
'EOF.');

if Position+Len<Length(Buffer) then begin
//如果把尾部的元素移动到前面
MoveStart:
=Position+Len;
MoveLen:
=Length(Buffer)+MoveStart;
Move(Buffer[MoveStart],Buffer[Position],MoveLen
*SizeOf(Integer));
//重设数组长度
SetLength(Position
+MoveLen);
end else
//如果计算得知尾部没有元素,直接设置数组长度
SetLength(Position);
end;

 

相关文章:

  • 2022-01-17
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
猜你喜欢
  • 2021-10-16
  • 2021-12-24
  • 2022-12-23
  • 2021-12-01
  • 2021-11-01
  • 2021-05-30
  • 2022-12-23
相关资源
相似解决方案