Delphi链表问题(队列)

本文介绍了如何在Delphi中实现链表,特别是队列的数据结构。通过对比C语言中的链表定义,解释了Delphi中的链表记录类型和指针的使用,并提供了一个简单的队列操作示例,包括向队列中添加元素、删除元素和显示队列内容的函数。此外,还提及了Delphi中内置的TList、TQueue和TStack链表类的便利性。
摘要由CSDN通过智能技术生成


    近来有好多同学问到在delphi中使用链表的问题,在这里我就简单来说说吧.
   对C语言版的链表大家都很熟识了,我们就先来看看C关于链表的定义,这里以队列为例:
   typedef struct Qnode{  //定义数据元素类型
        int data;
    struct Qnode  *next;
}Qnode,*QueuePtr;
typedef struct{         //定义队列
    QueuePtr front;
    QueuePtr rear;
}LinkQueue;
这里我们只要把握一点就行: next,front,rear三个变量都是Qnode类指针.QueuePtr front等价于Qnode *front。
下面看看delphi中的定义:
type
  link=^node;        //定义链表数据类型
    node=record
      data:string;
      next:link;
      end;
type
 LinkQueue=record      //定义队列(具有头指针和尾指针)
    front:link;
    rear:link;
    end;
这里的定义和C的定义在本质上的一样的,只是表现形式有点区别而已,link=^node表明link是node类指针,在理解上我们可能这样定义:
type
   //定义链表数据类型
    node=record
      data:string;
      next:^node;//这里把link换成了^node
      end;
这个只是理解上的定义,编译时会产生如下错误的:
[错误] Unit1.pas(28): Type 'node'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值