数据结构实验2线性表答案.doc

数据结构实验2线性表答案.doc

ID:58536255

大小:26.50 KB

页数:5页

时间:2020-09-03

数据结构实验2线性表答案.doc_第1页
数据结构实验2线性表答案.doc_第2页
数据结构实验2线性表答案.doc_第3页
数据结构实验2线性表答案.doc_第4页
数据结构实验2线性表答案.doc_第5页
资源描述:

《数据结构实验2线性表答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告院(系):信息科学与技术学院课程名称:数据结构日期:班级学号实验室专业计算机科学与技术姓名计算机号实验名称顺序表的运算成绩评定所用软件VC或TC教师签名实验目的1.掌握线性表的基本概念2.掌握线性表的建立、插入和删除等方法。3.掌握线性表的基本算法。实验准备1、复习书上有关内容。2、阅读实验步骤中的函数,写出函数功能。3、写出实验步骤2、3的源程序。实验总结1、各子函数功能:*init_sqlist()线性表的初始化creatsqlist(sqlist*L)线性表的建立Location_sqlist(sqlist*L,intx)在线性表中查找指定元

2、素InsList(sqlist*L,inti,intx)将x插入到线性表的第i个位置2.下列函数的功能是在顺序表中删除第i个元素,请编制主函数进行函数调用,上机调试运行。#defineMAXSIZE100#include"stdio.h"#include"stdlib.h"typedefintelemtype;typedefstruct{elemtypeelem[MAXSIZE];intlast;}sqlist;sqlist*init_sqlist(){sqlist*L;L=(sqlist*)malloc(sizeof(sqlist));L->last=-

3、1;returnL;}voidcreatsqlist(sqlist*L){inti;printf("请输入线性表的长度");scanf("%d",&i);L->last=i-1;for(i=0;i<=L->last;i++)scanf("%d",&(*L).elem[i]);}intDelList(sqlist*L,inti,elemtype*e)/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值。i的合法取值为1≤i≤L.last+1*/{intk;if((i<1)

4、

5、(i>L->last+1)){printf("删除位置不合法!");retur

6、n(0);}*e=L->elem[i-1];/*将删除的元素存放到e所指向的变量中*/for(k=i;k<=L->last;k++)L->elem[k-1]=L->elem[k];/*将后面的元素依次前移*/L->last--;return(1);}voidmain(){sqlist*l;elemtypee;inti;l=init_sqlist();creatsqlist(l);printf("建立的线性表为:");for(i=0;i<=l->last;i++)printf("%4d",l->elem[i]);if(DelList(l,2,&e))pr

7、intf("删除成功");printf("删除一个元素的线性表为:");for(i=0;i<=l->last;i++)printf("%4d",l->elem[i]);}3.源代码如下:#defineMAXSIZE100#include"stdio.h"#include"stdlib.h"typedefintelemtype;typedefstruct{elemtypeelem[MAXSIZE];intlast;}sqlist;sqlist*init_sqlist(){sqlist*L;L=(sqlist*)malloc(sizeof(sqli

8、st));L->last=-1;returnL;}voidcreatsqlist(sqlist*L){inti;printf("请输入线性表的长度");scanf("%d",&i);L->last=i-1;printf("请输入线性表中的各元素值,注意:必须有序");for(i=0;i<=L->last;i++)scanf("%d",&(*L).elem[i]);}voidmerge(sqlist*LA,sqlist*LB,sqlist*LC){inti,j,k;i=0;j=0;k=0;while(i<=LA->last&&j<=LB->last)if(L

9、A->elem[i]<=LB->elem[j]){LC->elem[k]=LA->elem[i];i++;k++;}else{LC->elem[k]=LB->elem[j];j++;k++;}while(i<=LA->last)/*当表LA有剩余元素时,则将表LA余下的元素赋给表LC*/{LC->elem[k]=LA->elem[i];i++;k++;}while(j<=LB->last)/*当表LB有剩余元素时,则将表LB余下的元素赋给表LC*/{LC->elem[k]=LB->elem[j];j++;k++;}LC->last=LA->last+LB-

10、>last+1;}voidmain(){sqlist*la,*lb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。