大人們幫忙看看吧。

icefirelxb 2003-08-20 09:19:44
題目:設計一個雙向鏈表:給出資料結構的定義,並給出插入、刪除的演算法。
雙向鏈表的結構如下:
type
PNode=^TNode;
TNode=Record
ElemValue:string;
prior:PNode;
next:PNode;
end;
下面的程序是要實現這個簡單的功能,但我怎麼都做不出來,達人們幫我看看問題在哪兒啊.
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
PNode=^TNode;
TNode=Record
ElemValue:string;
prior:PNode;
next:PNode;
head:pnode;
add:PNode;
end;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit5: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure newnode();
end;

var
Form1: TForm1;
S,S1,S3:string;
head:PNode;
prior:PNode;
anext:PNode;
//add:PNode;
implementation

{$R *.dfm}

{procedure TForm1.read();
begin
prior:=head;
while prior.next<>head do prior:=prior.next;
end;}
procedure TForm1.newnode();
begin
new(prior);
new(anext);
prior.ElemValue:=S;
while(edit1.text<>'') do
begin
if prior.ElemValue='' then
begin
//new(prior);
prior.ElemValue:=edit1.text;
Edit5.Text:= Edit5.Text+' '+prior^.ElemValue;
S:=edit1.Text;
S1:=edit1.Text;
head:=prior;
break;
end
else begin
//new(anext);
anext.ElemValue:=edit1.text;
Edit5.Text:= Edit5.Text+' '+anext.ElemValue;
S:=edit1.Text;
S3:=edit1.Text;
prior.next:=anext;
prior:=anext;
end;
break;
end;
prior.next:=head;
edit3.Text:=prior.ElemValue;
edit4.Text:=head.ElemValue;
anext:=head.next;
edit2.Text:=head.next.ElemValue;
dispose(anext);
//read();
end;

procedure TForm1.Button1Click(Sender: TObject);
//初始化
begin
newnode();
end;

procedure TForm1.Button2Click(Sender: TObject);
//插入
var
S2:String;
add:PNode;
begin
new(add);
//read();
while prior.ElemValue<>edit2.text do
begin
prior:=prior.next;
S2:=S2+' '+prior.ElemValue;
end;
add.next:=prior.next;
prior.next:=add;
add.ElemValue :=Edit3.Text;
S2:=S2+' '+edit3.Text;
prior:=add.next;
S2:=S2+' '+prior.ElemValue;
while prior.ElemValue<>S3 do
begin
prior:=prior.next;
S2:=S2+' '+prior.ElemValue;
end;
edit5.text:=S2+' '+S3;
end;

procedure TForm1.Button3Click(Sender: TObject);
//刪除
var
S2:String;
add:PNode;
begin
//read();
while prior.ElemValue<>edit4.text do
begin
S2:=S2+' '+prior.ElemValue;
add:=prior;
prior:=prior.next;
end;
add.next:=prior.next;
prior:=add.next;
while prior.ElemValue<>S3 do
begin
S2:=S2+' '+prior.ElemValue;
prior:=prior.next;
edit3.Text:=prior.ElemValue;
end;
edit5.text:=S2;
end;
end.

...全文
28 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
icefirelxb 2003-08-20
  • 打赏
  • 举报
回复

急啊,多發了一個

lxpbuaa 2003-08-20
  • 打赏
  • 举报
回复
这个帖子题不是在基础类已经发过了么?

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
[机器人怎么画]画机器人全文共9页,当前为第1页。[机器人怎么画]画机器人全文共9页,当前为第1页。[机器人怎么画]画机器人 [机器人怎么画]画机器人全文共9页,当前为第1页。 [机器人怎么画]画机器人全文共9页,当前为第1页。 篇一:[画机器人]机器人玩具卡通图片简笔画 先画出机器人的身子。一个正方形。 正方形上部画一个半圆是机器人的头。 画出机器人的耳朵。就是2个小方形。 机器人的眼睛和嘴巴。嘴巴一定要长条,显得霸气。 画机器人的手臂,和腰带。 基本完成,画出机器人的脚和天线。 完成图,寥寥几笔,在加上自己的额想像力可以组织一个机器人家族哟。 篇二:[画机器人]未来机器人的想象作文 篇一:洗衣机器人 夏天到了,孩子们又高兴又发愁,高兴的是又可以吃许多冷饮了,发愁的是天气太热了,每人每天都要换许多衣服,妈妈洗衣服太辛苦了。每当我看见妈妈在洗衣服,就会有一种想法:何不如让机器人来帮忙呀。 于是,我就开动脑筋和爸爸一起设计 来,爸爸说:"你先把样子画出来,再分析每个部位的结构吧。"听后,我便开始画机器人了。机器人的身子是圆的,里面是洗衣筒。光有洗衣筒还不够,它得自己收集衣服,那就给它再添两只用来拿衣服的手吧。"不行,万一衣服太远,手臂够不着怎么办?"这样的话,还要再让它有两条腿能四处走。还要再给它画一张嘴巴,只要它把收集到的衣服放到嘴里。就能到它的身体洗衣筒里。不一会,一件干净的衣服就出来了。剩下的就好办了。 对了,还没给它起一个名字呢!就叫"洗衣使者"吧。你知道我为什么给它起这个名字吗?因为现在我们用的是洗衣机,这个机器人可比洗衣机聪明管用多了,所我给它起了一个这么动听的名字。 篇二:未来的机器人 在很多年以后,地球上的人越来越多,人们产生的垃圾也越来越多,许多地方都变成了垃圾场、垃圾山。为了处理这些垃圾,科学家发明了一种专门吃[机器人怎么画]画机器人全文共9页,当前为第2页。[机器人怎么画]画机器人全文共9页,当前为第2页。垃圾的机器人。 这种机器人外形跟人很相像,它能走路、说话,还会吃东西。它吃的东西就是人类扔掉的废物、垃圾。 这种机器人的外壳是用特殊材料制作的,不会脏,不会生锈,也不会因摩擦而受损。它会自动找垃圾,它有一双特别大的眼睛,会闪光,一旦发现垃圾,它的眼睛就会闪光。然后迅速出击,很快就把垃圾处理掉。 它的肚子是一个特殊的工厂,这个工厂的作用就是处理垃圾。并且把垃圾转化成电能。转化出来的电能储藏在一个专门的卡里,供机器人的运转使用。因此,这种机器人不用充电。这种机器人很多,只要是有垃圾的地方,就会看见它的身影。 有了它之后,地球上再也看不见垃圾了,到处都变得干干净净的了。连蚊子、苍蝇也不见了。空气也变得格外清新。 你看,有了这种机器人多方便啊! 篇三:未来的机器人 每当某处着火的时候,消防员就会在第一时间赶到火灾地点灭火。但如果消防员要冲进火里去救人的话,说不定会带来生命危险。所以,我想发明一个消防机器人,来代替消防员。 这种消防机器人的材料采用了一种防火钢铁,在百度高温下也不会融化或烧坏。而且在它的胸前有三只水枪,在救人的时候,有火阻拦了它的路,它便会用水枪把火扑灭。在它的两只手臂上分别装了一个激光枪和一条锁链。在逃出去是这两个东西可少不了,激光可以切开阻拦物,而锁链就可以从窗口逃生。它的手指可是万能钥yao匙,如果火灾区有门锁着,它就能把门打开。它的背上有一个喷火器,假如很高的楼层上有人,它可以以最快的速度飞到那里,把人就下下来。 它最大的特点是在它的两旁有两个可以让人坐的防火型的塑料罐,救来的人可以坐在里面,而且罐子里还有空气制造器。这样,在机器人冲出去时,人就不会烧死了。 以后,我要好好学习,发明出这样的机器人。 [机器人怎么画]画机器人全文共9页,当前为第3页。[机器人怎么画]画机器人全文共9页,当前为第3页。 篇四:未来的机器人 我想,现在的清洁工肯定是四点多钟起床,来为人们打扫清洁。这样的话她们肯定非常的累。 我想,我要设计一个机器人,它们天天起的非常的早、非常的准时。来为人们打扫清洁,这样人们就不用起这么早了,可以多睡一会。 如果每一家的人都有一个机器人,天天就可以安排它们打扫清洁,干什么的。人们就不用每天不停的干家务活。汗水像一颗颗珍珠一样哗啦啦的往下流。机器人还可以帮我们做晚饭,假如大人们不在家小孩自己没有能力自己照顾自己,机器人就会带小孩子出去玩,到了吃饭的时候它会自己带着小孩子去买一些菜,机器人还会挑出比较新鲜的蔬菜,而且它还会做出味道甜美的饭菜让小孩子精神抖擞。 机器人还会分辨出主人的样子若是爸爸妈妈不在家只有小孩子一个人在家机器人它会自己发动引擎。自动发电,把小孩子哄睡放在婴儿床上。如果门玲响了,机器人会自动打开视网膜传出千里眼,把来的这个人的样子拍成照片以及他的所有资料和主人的资料

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧