数据结构实验二.doc

上传人:苏美尔 文档编号:7196209 上传时间:2020-11-05 格式:DOC 页数:7 大小:45KB
返回 下载 相关 举报
数据结构实验二.doc_第1页
第1页 / 共7页
数据结构实验二.doc_第2页
第2页 / 共7页
数据结构实验二.doc_第3页
第3页 / 共7页
数据结构实验二.doc_第4页
第4页 / 共7页
数据结构实验二.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数据结构实验二.doc》由会员分享,可在线阅读,更多相关《数据结构实验二.doc(7页珍藏版)》请在三一文库上搜索。

1、洛阳理工学院实验报告系部计算机系班级学号姓名课程名称数据结构实验日期实验名称链表的基本操作成绩实验目的:(1)掌握线性表的链式存储结构的特点;(2)掌握线性表的基本操作:初始化、插入、删除、查找数据元素等运算在链式存储结构上的实现。实验条件:计算机一台,vc+6.0实验内容与算法思想:内容:建立一有序的链表,实现下列操作:1.把元素x插入表中并保持链表的有序性;2.查找值为x的元素,若找到将其删除;3.输出表中各元素的值。算法思想:先创建并初始化一个顺序表(void init_linklist(LinkList)),通过循环,输入一串数据void CreateFromTail(LinkList

2、 L);创建主函数;编写算法,完成子函数(查找locate,插入insList,删除DelList,输出output)模块;调用子函数,完成实验要求运行结果:实验总结:通过该次实验掌握了线性表的基本操作:插入、删除、查找在顺序存储结构上的实现。更深一步了解到算法在c语言程序中的使用及函数调用的方法。编写过程中出现了比较多的问题,比如排序一直没编好,经过多次修改才运行成功,排序还是c语言的知识,说明对c语言掌握的还不是很好,还需要多加练习。经过这次实验,我觉得我要加倍努力才行,提高自己编写的能力。附:源程序:#include#include#define OK 1#define ERROR 0t

3、ypedef char ElemType;typedef struct NodeElemType data; struct Node* next;Node,*LinkList;void init_linklist(LinkList *l)*l=(LinkList)malloc(sizeof(Node); (*l)-next=NULL; void CreateFromTail(LinkList L)Node *r, *s;char c;int flag =1;r=L; while(flag) c=getchar();if(c!=$)s=(Node*)malloc(sizeof(Node);s-d

4、ata=c;r-next=s;r=s;elseflag=0;r-next=NULL; Node *Locate( LinkList L,ElemType key)int k;Node *p;k=1;p=L-next; while (p!=NULL)if (p-data!=key)p=p-next; k+;else break; printf(查询的元素的位置为:); printf(%dn,k-1);return p; void InsList(LinkList L,int e) LinkList p=L-next,q=L,s; if(p-next=NULL) printf(这是一个空链表n);

5、 else while(p&(p-datanext; if(p&(p-data=e) s=(LinkList)malloc(sizeof(Node); s-data=e; s-next=p; q-next=s; else s=(LinkList)malloc(sizeof(Node); s-data=e; s-next=NULL; q-next=s; int DelList(LinkList L,ElemType key) Node *p,*pt; p=L-next; pt=p-next; if(p-data=key) L-next=pt; free(p); else while(pt!=NU

6、LL) 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 1; void output(LinkList L)Node *p;p=L-next;while(p!=NULL)printf(%2c,p-data); p=p-next;void main() LinkList L; ElemType m,n,a; init_linklist(&L); printf(请输入您要录入的元素以$结束:n); CreateFromTail(L); output(L); printf(n); printf(请输入您要查询的元素:n); getchar(); n=getchar(); Locate(L,n); printf(请输入您要插入的元素:n); getchar(); m=getchar(); InsList(L, m); output(L); printf(n); printf(请输入您要删除的元素:n); getchar(); a=getchar(); DelList(L,a); output(L); printf(n);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1