⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.pas

📁 这是天翼外挂的源代码
💻 PAS
字号:
unit queue;

interface
uses
  windows;
type
  TPosition=^NodeType;
  NodeType=record
    Element:pchar;
    next:TPosition;
    end;
  QueueType=record
    front,rear:TPosition;
    end;
type
  Tqueue = class(TObject)
  private

  public
  Q:QueueType;
  Procedure MakeNull;//初始化队列
  Function Empty(var t:QueueType):Boolean;//空队列
  Procedure Enqueue(x:pchar);//将元素x插入队列Q的队尾
  Procedure Dequeue;//出队
  Function Front:pchar; //返回队列Q的队头元素
end;
implementation

Procedure Tqueue.MakeNull;//初始化队列
begin
  Q.rear:=Q.front;
  while Q.front<>nil do
    begin
      Q.front:=Q.front^.next;
      dispose(Q.rear);
      Q.rear:=Q.front;
    end;
    new(Q.front);
  Q.front^.next:=nil;
  Q.rear:=Q.front;
end;

Function Tqueue.Empty(var t:QueueType):Boolean;//空队列
begin
  if Q.front=Q.rear then result:=true else  result:=false;
end;

Procedure Tqueue.Enqueue(x:pchar);//将元素x插入队列Q的队尾
begin
  new(Q.rear^.next);
  Q.rear:=Q.rear^.next;
  Q.rear^.Element:=x;
  Q.rear^.next:=nil;
end;

Procedure Tqueue.Dequeue;//出队
var
p:TPosition;
begin
  if Empty(Q) then
    begin
      exit;
    end
  else
    begin
      new(p);
      p:=Q.front;
      Q.front:=Q.front^.next;
      dispose(p);
    end;
end;

Function Tqueue.Front():pchar; //返回队列Q的队头元素
begin
  if Empty(Q) then
    begin
    exit;
    end
  else
    result:=(Q.front^.next^.Element);
end;
end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -