77范文网 - 专业文章范例文档资料分享平台

数据结构实验指导书(2)

来源:网络收集 时间:2019-03-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

BEGIN head:=NIL;

write('Please input chars: ');

{read(ch);} {上一条语句会输出一个换行符,}

{我们先把它读出来,丢掉}

read(ch); WHILE (ord(ch)<>13) DO BEGIN new(p); p^.data:=ch; p^.next:=head; head:=p;

read(ch);

END;

v:=head;

END;

{尾插法建表,先进先出}

PROCEDURE createlistr(VAR v:pointer); VAR ch:elemtp;

head:pointer; {头指针} last:pointer; {尾指针}

p:pointer; {工作指针}

BEGIN head:=NIL; last:=NIL;

write('Please input chars: ');

read(ch);

read(ch); WHILE (ord(ch)<>13) DO

6

BEGIN new(p); p^.data:=ch;

IF head=NIL THEN head:=p ELSE last^.next:=p;

last:=p;

read(ch); END;

IF last<>NIL THEN

last^.next:=NIL;

v:=head;

END;

{按序号查找操作}

PROCEDURE getnode(v:pointer; VAR listnode:pointer; i:integer); VAR p:pointer;

j:integer;

BEGIN p:=v; j:=1;

WHILE (p^.next<>NIL) AND (j

j:=j+1;

END;

IF j=i THEN listnode:=p

ELSE listnode:=NIL;

END;

{插入操作,在第i个元素之后插入x,i大于等于0} PROCEDURE insertlist(VAR v:pointer; x:elemtp; i:integer);

VAR

7

p,s:pointer; {工作指针} j:integer;

BEGIN new(p); p^.data:=x;

IF i=0 THEN {如果i=0,则把p结点插入表头} BEGIN p^.next:=v;

v:=p

END

ELSE BEGIN getnode(v,s,i); {返回第i个结点的指针} IF s<>NIL THEN BEGIN p^.next:=s^.next;

s^.next:=p;

END

ELSE writeln('not found');

END;

END;

{删除操作,删除第i个结点,i大于等于1} PROCEDURE deletelist(VAR v:pointer; i:integer); VAR

p:pointer; {工作指针}

BEGIN

IF v<>NIL THEN

BEGIN

8

IF i=1 THEN {如果i=1,则删除头结点}

v:=v^.next

ELSE BEGIN getnode(v,p,i-1); {返回第i-1个结点的指针} IF p<>NIL THEN p^.next:=p^.next^.next

ELSE writeln('erroe');

END;

END

ELSE writeln('The list is null.'); END;

{遍历单链表}

PROCEDURE traverlist(v:pointer); VAR

p:pointer;

BEGIN p:=v;

WHILE (p<>NIL)DO BEGIN write(p^.data,' ');

p:=p^.next;

END;

END;

{建立线性表} VAR

la,lb:pointer;

listnode:pointer;

9

c:elemtp;

m:integer;

BEGIN createlistf(la); writeln(la^.data); createlistr(lb); writeln(lb^.data); getnode(la,listnode,3);

IF listnode<>NIL THEN writeln(listnode^.data) ELSE writeln('null');

traverlist(la);

writeln('');

traverlist(lb);

writeln(''); writeln('Input a char and an integer:');

read(c);

read(c,m); insertlist(la,c,m); traverlist(la); writeln('');

deletelist(lb,3);

traverlist(lb);

END.

实验三 二叉树操作

一、实验目的

1.进一步掌握指针变量的含义。

2.掌握二叉树的结构特征,以及各种存储结构的特点及使用范围。3.掌握用指针类型描述、访问和处理二叉树的运算。

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构实验指导书(2)在线全文阅读。

数据结构实验指导书(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/548177.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: