用Pascal语言实现线性表——原创

今天读了《大话数据时代》,就有感而发,用Pascal语言实现了线性表。

程序如有不妥当的地方,请提出:

program test301;
const maxlen=100;
type sqlist=record
   data : array[1..maxlen] of char;
   last : 0..maxlen
end;
var
  i,p: integer;
  l : sqlist;
  x:char;
function length(var sq:sqlist) : integer;
begin
  length :=sq.last;
end;
procedure intlist(var sq:sqlist);
begin
  randomize;
  for i:=1 to 10 do
      begin
      sq.data[i]:=chr(65+round(random(26)));
      inc(sq.last);
      end;
end;
procedure printlist(var sq:sqlist);
begin
    for i:=1 to length(sq) do write(sq.data[i]);
    writeln;
end;
procedure insert(var sq:sqlist;x:char;p:integer);
var
  i:integer;
begin
  for i:=sq.last+1 downto p do
  sq.data[i+1]:=sq.data[i];
  sq.data[p]:=x;
  sq.last:=sq.last+1;
end;
procedure delete(var sq:sqlist;p:integer);
var
  i:integer;
begin
  for i:=p to sq.last do
  sq.data[i]:=sq.data[i+1];
  sq.last:=sq.last-1;
end;
begin
  intlist(l);
  printlist(l);
  readln(x,p);
  insert(l,x,p);
  printlist(l);
  readln(p);
  delete(l,p);
  printlist(l);
  readln;
end.
谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值