单链表的操作实验报告Word文档格式.docx
《单链表的操作实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《单链表的操作实验报告Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
node*next;
};
classLinkList
LinkList:
:
LinkList(Ta[],intn)
{node*s;
first=newnode;
first->
next=nuLL;
public:
LinkList(Ta[],intn);
//建?
立¢?
é
有?
Dn个?
元a素?
的ì
?
单ì
£¤
链¢?
表à
¨
a~LinkList();
//析?
构1函?
¥数oyvoidInsert(inti,Tx);
//在¨
2单ì
a中D第ì
2i个?
位?
置?
插?
入¨
值|ì
为ax的ì
TDelete(inti);
a中D删|?
除y第ì
结¨
¢点ì
intLocate(Tx);
//求¨
a中D值|ì
序¨
°
号?
voidprintList();
//遍à
|历¤
a,ê
按?
依°
¤
次?
输o?
出?
各?
private:
node*first;
for(inti=0;
i {
s=newnode;
s->
data=a[i];
next=first->
next;
next=s;
}
~LinkList()
{node*q;
q=p;
p=p->
deleteq;
}
voidLinkList:
Insert(inti,Tx)
node*p,*s;
p=first;
intj=0;
//工?
è
作á
指?
针?
p初?
始o?
化?
¥node*p=first;
while(p)
while(p//工?
p后¨
移°
j++;
if(!
p)throw"
"
;
else{
s=newnode();
s->
data=x;
//向¨
内¨
2存?
申|¨
o请?
一°
个?
s,ê
其?
数oy据Y域?
为axs->
next=p->
//将?
s插?
到ì
p之?
后¨
p->
}}
TLinkList:
Delete(inti)
node*p,*q;
intx;
¥
while(p
p||!
p->
next)throw"
//结¨
p不?
存?
在¨
2或¨
p的ì
继¨
不?
2
q=p->
x=q->
data;
//暂Y存?
被à
删|?
next=q->
//摘a链¢?
returnx;
intLinkList:
Locate(Tx)
node*p;
p=first->
intj=1;
if(p)returnj;
elsereturn0;
printList()
voidmeun()
//cout>
i;
cout*p;
p=first->
while(p!
=nuLL){}cout datanext;
}cout intmain()
{meun();
inta[5]={23,14,56,78,90};
//cout LinkListb1(a,5);
intfly=1;
while(fly)
{cout intk,d,f,x,b,loc;
cin>
>
b;
switch(b){case1:
case2:
{cout>
f;
//LinkListl(intf);
//LinkListc(intf);
b1.Delete(f);
break;
}{cout>
x;
loc=b1.Locate(k);
cout>
k;
d;
//LinkListc(intd,intk);
b1.Insert(d,k);
}case3:
return0;
}//LinkListc(intx);
b1.Locate(x);
}{b1.printList();
}default:
{}cout 四、运行与调试
a)在调试程序的过程中遇到什么问题,是如何解决的?
答:
经常忘记对头结点的定义,以至于程序出错,经定义头结点,使程序正常运行b)设计了哪些设计数据?
测试结果是什么?
设计了插入、删除、显示、按值查找算法,实现插入、删除、显示、按值查找数据的功能。
c)程序运行的结果如何?
篇三:
安阳师范学计算机与信息工程学院
综合性、设计性实验报告书
实验课程:
程序设计基础课程设计
实验指导教师:
王希杰
实验时间:
实验题目:
单链表的就地逆置
实验类型:
□综合性■设计性
一、实验目的
1.了解数据的逻辑结构及存储结构
2.理解单链表的定义
3.理解单链表存储、操作数据的特点
4.掌握单链表的建立、输出、插入及删除等基本操作
二、实验仪器设备及实验环境:
1.实验环境:
和义楼415机房
2.实验设备:
计算机、vc++6.0
三、总的设计思想、实验原理等
通过建立的单链,翻转指针指向,尾部作为头部。
四、实验步骤设计:
(见附页)
1.建立
2.翻转
3.输出
程序代码如下:
#include
intdata;
structnode*next;
intmain()
structnode*head,*p,*r,*q;
inti,n;
head=(structnode*)malloc(sizeof(structnode));
q=(structnode*)malloc(sizeof(structnode));
head=q;
scanf("
%d"
for(i=1;
p=(structnode
//p->
data=i;
q->
next=p;
p=head->
//q->
r=q->
p=q;
q=r;
/*p=q;
*/
head=q;
p=head;
while(p)
printf("
p->
data);
\n"
);
五、实验结果及分析:
(可加附页)*)malloc(sizeof(structnode));