全球旧事资料 分类
实验一线性表的链式存储结构
一、实验目的:
1.掌握线性表的链式存储结构。2.熟练地利用链式存储结构实现线性表的基本操作。3.能熟练地掌握链式存储结构中算法的实现。
二、实验内容:
1.用头插法或尾插法建立带头结点的单链表。2.实现单链表上的插入、删除、查找、修改、计数、输出等基本操作。
三、实验要求:
1根据实验内容编写程序,上机调试、得出正确的运行程序。2写出实验报告(包括源程序和运行结果)。
四、实验学时:2学时五、实验步骤:
1.进入编程环境,建立一新文件;2参考以下相关内容,编写程序,观察并分析输出结果。①定义单链表的数据类型,然后将头插法和尾插法、插入、删除、查找、修改、计数、输出等基本操作都定义成子函数的形式,最后在主函数中调用它,并将每一种操作前后的结果输出,以查看每一种操作的效果。
②部分参考程序
单链表的建立头插法,插入,删除,查找、修改、计数、输出i
cludeiostreamhdefi
eelemtypei
tstructli
kelemtypedata;元素类型
li
k
ext;指针类型,存放下一个元素地址
头插法建立带头结点的单链表li
khcreatli
kspelemtypeicout”输入多个结点数值用空格分隔,为0时算法结束”;ci
i;p
ewli
k;p
extNULL;whilei当输入的数据不为0时,循环建单链表s
ewli
k;sdatai;s
extp
ext;p
exts;ci
i;
1
fretur
p;
输出单链表
voidpri
t1i
khead
1i
kp;
phead
ext;
whilep
extNULL
coutpdata””;
输出表中非最后一个元素
pp
ext;
coutpdata;coute
dl;
输出表中最后一个元素

∥在单链表head中查找值为x的结点Li
kLocate1i
khead,elemtypex
Li
kp;phead
ext;
whilepNULLpdataxpp
ext;retur
p;
在head为头指针的单链表中,删除值为x的结点voiddeletel1i
khead,elemtypex1i
kp,q;qhead;phead
ext;whilepNULLpdataxqp;pp
ext;IfpNULLcout“要删除的结点不存在”;elseq
extp
ext;deletep;在头指针head所指的单链表中,在值为x的结点之后插入值为y的结点voidi
sert1i
khead,elemtypex,elemtypey
2
f{li
kp,s;s
ewli
k;sdatay;ifhead
extNULL链表为空
head
exts;s
extNULL:
pLocatehead,x;调用查找算法‘ifpNULLcout”插入位置非法”:elses
extp
ext;p
exts;
将单链表p中所有值为x的元素修改成yvoidcha
ge1i
kpelemtypexelemtypeyli
kq;qp
ext;whileqNULLifqdataxqdatay;
qq
ext;
voidcou
t1i
kh统r
好听全球资料 返回顶部