欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构实验教学手册Word格式文档下载.docx

    • 资源ID:16597216       资源大小:264.40KB        全文页数:51页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构实验教学手册Word格式文档下载.docx

    1、6实验四栈和队列及其应用实验五二叉树及其应用实验六 图及其应用实验七查找实验八排序实验名称 顺序表及其应用 实验性质 验证性 实验学时数 2学时 一、实验目的1深入了解线性表的顺序存储结构。2熟练掌握在顺序存储结构上进行插入、删除等操作的算法。3通过线性表结构解决现实中的一些问题。二、实验内容 1. 线性表的顺序存储结构。2. 顺序存储结构上进行插入、删除等操作的算法。3. 通过线性表结构解决现实中的一些问题。三、实验过程1、实验题目 问题描述设计一个顺序表,要求:(1)包含不少于5个元素,并在屏幕上显示。(2)对建好的顺序表实现查找、插入、删除等操作,并程序执行结果显示到屏幕上。(3)设计一

    2、个选择菜单。基本要求(1)按实验内容编写完整的程序,并上机验证。(2)实验完成后,提交电子档教师验收程序,并提交填写好的实验报告。测试数据由学生依据软件工程的测试技术自己确定。注意测试边界数据。2、源程序#includestdio.hmalloc.h#define MAXSIZE 200 /线性表允许的最大长度#define datatype inttypedef struct /定义线性表的结构 datatype dataMAXSIZE;/表示线性表(a1,a2,.,an) int last;/last表示线性表的实际长度SeqList;void init_SeqList(SeqList *

    3、L)/线性表初始化 L-last=-1;int insert_SeqList(SeqList *L,int i, datatype x)/插入操作 int j; if(iL-last+2) printf(插入位置不合法!); return 0; if(L-last=MAXSIZE-1) printf(表已满无法插入!for(j=L-last;j=i-1;j-)dataj+1=L-dataj;datai-1=x;last+;插入成功nint Delete_SeqList(SeqList *L,int i)/删除操作 int k;last+1) 删除位置不合法! return 0; for(k=i

    4、;kk+)datak-1=L-datak;last-;删除成功!nint Location_SeqList(SeqList *L, datatype x) /按值查找 int i,index; for(i=0;idatai);int main() /主函数void main() SeqList L; int i,choice; init_SeqList(&L);请输入线性表的长度: scanf(%d,&L.last);请输入线性表的元素:L.last;i+) L.datai); do请选择您想要对线性表的操作: 1:插入 2:删除 3:查找 4:打印 0:退出nchoice); switch(

    5、choice) case 1: int x,j;请输入要插入的数的位置和数值: scanf(%d%dj,&x); insert_SeqList(&L,j,x); break; case 2: int m;请输入要删除的数的位置:m); Delete_SeqList(&L,m); case 3: int n;请输入要查找的数:n);您要查找的数位于线性表的第%d位.n,Location_SeqList(&L,n); case 4: print(& case 0: default:请选择正确的操作! break; while(choice!=0);谢谢使用!四实验小结初步了解线性表的顺序存储结构,

    6、及其定义格式。掌握在顺序表上进行插入、删除等操作的算法。但在顺序表的操作上不是十分熟练。五成绩实验名称 单链表及其应用 实验性质 综合性 实验学时数 4学时 1深入了解线性表的链式存储结构。2熟练掌握在链式存储结构上进行插入、删除等操作的算法。1. 线性表的链式存储结构。2. 链式存储结构上进行插入、删除等操作的算法。(1)用头插法或尾插法建立一个单链表,并将结果显示到屏幕上。(2)对建好的单链表实现查找、插入、删除、修改等操作。提高篇(选作)建立一个有序单链表,实现上述操作。typedef struct Node char data; struct Node* next;Node,*link

    7、list;void createfromtail(linklist L) Node *r,*s; int flag=1; char 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;char get(linklist L,int i) int j; Node *p; if(inext!=NULL)&(jnext; j+; if(i=j)return p-data; else

    8、return 0;int inslist(linklist L,int i, char x) Node *pre,*s;=0) printf(pre=L;k=0; while(pre!=NULL&i-1) pre=pre- k=k+1; if(! pre) else s=(Node*)malloc(sizeof(Node); s-data=x;next=pre- pre- int deilist(linklist L,int i)Node *pre,*r; pre=L; while(pre- pre=pre- k=k+1;(pre-next) printf(删除的节点位置不合法! r=pre-

    9、next=r- free(r); return 1;void alterlist(linklist L, int i,char x) int j; linklist p;修改位置不合法! while(p- p-修改成功!void print(linklist L) linklist p;p=L-while(p)%c ,p-data); p=p-printf(int main() linklist L; int i,choice,x,j; createfromtail(L); do修改 5: char c;请输入要插入的字符的位置:j);请输入要插入的字符: c=getchar(); insli

    10、st(L,j, c);插入字符后的线性表为: print(L);请输入要删除的字符的位置: deilist(L,m);删除字符后的线性表为:请输入要查找的字符的位置:您要查找的字符为%c.n,get(L,n); int a; char x;请输入要修改的字符的位置:a);请输入要修改的字符: x=getchar(); alterlist(L,a,x);修改字符后的线性表为: case 5:print(L);break;四小结初步了解线性表的链式存储结构,及其定义格式。掌握了在链表上进行插入、删除等操作的算法。对链表的了解不是很深入,在其使用上往往会犯一些错误比如在链表中进行插入插不到指定位置,

    11、删除时位置错误等。五成绩实验名称 线性表综合练习 实验性质 设计性 实验学时数 6学时 1根据实际问题,应用线性表的顺序存储结构。2根据实际问题,深入理解线性表的链式存储结构。1. 线性表的两种存储结构。2. 不同存储结构上进行插入、删除等操作的算法。设计一个学生信息系统,要求:(1)每条信息包含学号,姓名,性别,院系,宿舍等项。(2)能够对数据信息进行查找,插入,删除等。(3)选择合适的存储结构,在主程序上运行,验证其正确性,并写出程序执行结果。# includestring.hstdlib.h char number10; char name10; char sex4; char depa

    12、rtment16; char dorm6; int i,n;请输入学生数: char number10,name10,sex4,department16,dorm6; Node *r,*s;请输入学生的信息!n;请输入学生学号:%s,number);请输入学生姓名:,name);请输入学生性别:,sex);请输入学生院系:,department);请输入学生宿舍号:,dorm); s=(Node*)malloc(sizeof(Node); strcpy(s-number,number);name,name);sex,sex);department,department);dorm,dorm);

    13、 r=s; r-int inslist(linklist L) Node *pre,*s; int k,i;请输入插入位置i); pre=pre- s=(Node*)malloc(sizeof(Node); strcpy(s- int get(linklist L,int i) p=p- if(i=j)该学生的信息为:学号:%s number);姓名:name);性别:sex);学院:department);宿舍号:dorm);int deilist(linklist L) Node *pre,*r; pre=pre-linklist p; linklist L;查找 4: inslist(L); deilist(L);请输入要查找的学生的位置: get(L,n);对链式表有了进一步的了解,能够利用链式表解决一些实际问题。了解了链式表的优势,他不会造成空间的浪费,对于插入和删除操作上链式表比顺序表有明显的优势。实验名称 栈和队列及其应用 实验性质 设计性 实验学时数 4学时 1掌握栈与队列的抽象数据类型描述及特点。2掌握栈和队列的顺序和链式存储结构与基本算法实现。


    注意事项

    本文(数据结构实验教学手册Word格式文档下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开