- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
洛阳理工学院实验报告
系部 计算机系 班级 B140502 学号 姓名 韩亚辉 课程名称 数据结构 实验日期 2015-10-13 实验名称 链表的基本操作 成绩 实验目的:
(1)掌握线性表的链式存储结构的特点;
(2)掌握线性表的基本操作:初始化、插入、删除、查找数据元素等运算在链式存储结构上的实现。 实验条件:计算机一台、Visual C++ 6.0 实验内容与算法思想:
内容:
建立一有序的链表,实现下列操作:
1.把元素x插入表中并保持链表的有序性;
2.查找值为x的元素,若找到将其删除;
3.输出表中各元素的值。
算法思想:
先是创建头指针初始化一个空链表。调用指针创建函数,用头插法把元素输入链表。然后在一个switch函数里面调用函数,选择实现输出、查找、插入和删除等操作。 运行结果:首先在主菜单界面输入0选择初始化建立链表(以$为结尾输入),输入1 2 5 8 9$完成建立链表返回主菜单;选择1进行插入操作,然后输入插入位置3和插入元素4,插入成功,输入y回到主菜单;选择2进行删除操作,输入要删除的元素5,删除成功,输入y返回主菜单;选择3进行链表输出,输出结果1 2 4 8 9,输入y返回主菜单;选择4结束程序。 实验总结:
通过上机实验更加熟练了解有关链表的各种算法,加深了对C语言的了解。基本掌握了基于链表的创建、查找、插入和删除等操作。
附:源程序:
#includestdio.h
#includemalloc.h
#includestdlib.h
#define ERROR 1
#define OK 0
typedef char ElemType;
typedef struct Node
{
ElemType data;
struct Node * next;
}Node,* LinkList;
void InitList(LinkList * L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)-next=NULL;
}
void CreateFromTail(LinkList L)
{
Node *r,*s;
int flag=1;
ElemType c;
r=L;
while(flag)
{
c=getchar();
if(c!=$)
{
s=(Node *)malloc(sizeof(Node));
s-data=c;
r-next=s;
r=s;
}
else
{
flag=0;
r-next=NULL;
}
}
}
int InsList(LinkList L,int i,ElemType e)
{
Node * pre,*s;
int k;
if(i=0)return ERROR;
pre=L;
k=0;
while(pre!=NULLki)
{
pre=pre-next;
k=k+1;
}
if(!pre) return ERROR;
s=(Node *)malloc(sizeof(Node));
s-data=e;
s-next=pre-next;
pre-next=s;
return OK;
}
Node * Locate(LinkList L,ElemType key)
{
void display();
Node *p,*pt;
p=L-next;
pt=p-next;
if(p-data==key)
{
L-next=pt;
free(p);
}
else while(pt!=NULL)
{
if(pt-data!=key)
{
pt=pt-next;
p=p-next;
}
else
{
p-next=pt-next;
free(pt);
break;
}
}
if(pt==NULL)printf(无该元素\n);
else printf(该元素已删除\n);
return L;
}
void display(LinkList L)
{
Node *p;
p=L-next;
while(p!=NULL)
{
printf(%c,p-data);
p=p-next;
}
}
int main()
{
int i,
您可能关注的文档
最近下载
- 品牌策划与推广实战PPT全套完整教学课件.pptx
- 概率论与数理统计课件-全概率与贝叶斯公式.ppt VIP
- 炒茶机及其系统设计.doc
- The Pricing of Options and Corporate Liabilities期权定价与公司负债.pdf
- (概率论与数理统计)全概率公式与贝叶斯公式.ppt VIP
- 新人教(pep)四年级英语下册Unit4 At the Farm A. Let's talk 说课稿.doc
- 职业教育课程建设人工智能赋能的改革研究.docx VIP
- 公司出纳年终工作总结6篇.docx VIP
- (完整word版)AAO工艺设计计算.doc VIP
- 《秘书工作理论与实务》课件——第一章 秘书办文工作.pptx VIP
文档评论(0)