ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:381.69KB ,
资源ID:20335887      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20335887.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验报告及答案Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实验报告及答案Word格式.docx

1、 int listsize;SqList;status InitList_Sq(SqList *L);status ListInsert_Sq(SqList *L,int i,ElemType e);status ListDelete_Sq(SqList *L,int i);int LocateElem(SqList *L, ElemType e);LinearList.c文件内部代码# include # include LinearList.hstatus InitList_Sq(SqList *L) *L=(SqList*)malloc(sizeof(SqList); (*L).elem

2、=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); (*L).length=0; (*L).listsize=LIST_INIT_SIZE; return OK;status ListInsert_Sq(SqList *L,int i,ElemType e) ElemType *newbase,*p,*q; if (iL-length+1) return ERROR; if (L-length=L-listsize) newbase=(ElemType*)realloc(L-elem,(L-listsize+LISTINCREMENT)*si

3、zeof(ElemType); L-elem=newbase;listsize+=LISTINCREMENT; q=&(L-elemi-1); for (p=L-elem+L-length-1;p=q; p-) *(p+1)=*p; *q=e; L-length+;status ListDelete_Sq(SqList *L,int i) ElemType *q,*p;length) p=&elemi); for (q=L-pp+) *(p-1)=*p;length-;int LocateElem(SqList *L, ElemType e) int i=0; while (i return

4、0; else return i+1;Main.c 文件代码为#include #include void printfElems(SqList *L) int i; for ( i = 0; i printf(n);void main() SqList *list; InitList_Sq(&list);/初始化顺序表 ListInsert_Sq(list,1,10);/ 把10插入第一位置 ListInsert_Sq(list,1,9);/ 把9插入第一位置 ListInsert_Sq(list,1,8);/ 把8插入第一位置 ListInsert_Sq(list,1,7);/ 把7插入第

5、一位置 printfElems(list); /打印出所有元素 ListDelete_Sq(list,1);/删除删除第一个之后n /打印出所有元素第%d个元素是 10,LocateElem(list,10);/查找元素10的位置链表代码为:LinkList.htypedef struct LNode ElemType data; struct LNode *next;LNode,*LinkList;status InitLinkList(LinkList* L);status LinkListInsert(LinkList L,int i,ElemType e);status LinkLis

6、tDelete(LinkList L,int i);int Link_LocateElem(LinkList L,ElemType e);LinkList.cLinkList.hstdlib.hstatus InitLinkList(LinkList* L) *L=(LinkList)malloc(sizeof(LNode); (*L)-next=NULL;status LinkListInsert(LinkList L,int i,ElemType e) LinkList s,p=L; int j=0; while (p&jnext; j+; if (!p|j s=(LinkList)mal

7、loc(sizeof(LNode); s-data=e;next=p- p-next=s;status LinkListDelete(LinkList L,int i) LinkList q, p=L; while (p& q=p-next=q- free(q);int Link_LocateElem(LinkList L,ElemType e) while (L&e!data) L=L- i+;L) return -1; return i;Main.cvoid printfElems_L(LinkList L) L=L- while (L)data); LinkList head; Init

8、LinkList(&head);/初始化链表 LinkListInsert(head,1,10);/第一个位置插入 10 LinkListInsert(head,1,9);/第一个位置 插入 9 LinkListInsert(head,1,8);/第一个位置 插入 8 LinkListInsert(head,1,7);/第一个位置 插入 7 printfElems_L(head); /打印所有的元素 LinkListDelete(head,1);/删除第一个元素/打印所有元素第%d个元素是 10n,Link_LocateElem(head,10);/查找元素10的位置*/六思考讨论题或体会或对

9、改进实验的建议总结实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。七参考资料数据结构习题集(C语言版) 严蔚敏 吴伟民 编著 清华大学出版社C程序设计题解与上机指导(第三版)谭浩强编著清华大学出版社 2013-4-12 实验成绩:实验2 栈与队列3熟悉栈与队列抽象数据类型的表示和实现方法。4掌握栈与队列的基本操作。5进入所选择的IDE环境。6书写程序源代码。7调试程序。8验证程序。1.借助栈实现对表达式中括弧是否配对的判断算法Stack.hint isPiar(char c1,char c2) if (c1=c2=)|(c1=c1=() return 1; return 0; cha

10、r c; char topValue; sqStack *S; InitStack(&S); while (c=getchar()!=10) if (StackEmpty(S) Push(S,c); else GetTop(S,&topValue); if (isPiar(topValue,c) Pop(S,& else Push(S,c); if (StackEmpty(S)格式正确n格式错误n2. 假设循环队列中只设rear和length来表示队尾元素的位置和队中元素的个数,设计并实现这样的队列结构,试给出判断循环队列的队满条件,设计相应的入队和出队算法并编程实现。 Queue.cqueu

11、e.hstatus InitQueue(cycleQueue *q) *q=(cycleQueue*)malloc(sizeof(cycleQueue); (*q)-base=(ElemType*)malloc(sizeof(ElemType)*MAXQSIZE);rear=0;lenght=0;status EnQueue(cycleQueue *q,ElemType e) if (q-lenght=MAXQSIZE)return ERROR; q-baseq-rear=e;rear=(q-rear+1)%MAXQSIZE;lenght+;status DeQueue(cycleQueue

12、*q,ElemType *e)lenght=0)return ERROR; *e=q-base(q-rear-q-lenght+MAXQSIZE)%MAXQSIZE;lenght-; 2013-4-19 实验成绩:实验3 串5理解串的模式匹配算法(包括KMP算法)。6明确串也是特殊的线性表,掌握其特殊性所在。9进入所选择的IDE环境。10书写程序源代码。11调试程序。12验证程序。实验课题:编写函数计算一个子串在主串中出现的次数,如果主串中没有该子串则返回0。(实验数据:自拟)typedef struct char *ch;String;String *makeString(char* ch)

13、 char *c; int i,j; String *str=(String*)(malloc(sizeof(String); for(i=0,c=ch;*c;+i,+c); str-ch=ch;length=i;int countSubString(String *str,String *subStr) int i,j,sum=0; (str-length-subStr-length+1); for ( j = 0; j j+) if (subStr-chj!=str-chj+i)break; if (j=subStr-length)sum+; return sum; String *str

14、=makeString(abcdefababc String *subStr=makeString(abab在abcdefababc出现次数为 %dn,countSubString(str,subStr); 2013-4-26 实验成绩:实验4 数组与广义表7掌握稀疏矩阵的表示方法及其运算的实现。8实现稀疏矩阵在三元组、十字链表等表示下的各运算并分析其效率。13进入所选择的IDE环境。14书写程序源代码。15调试程序。16验证程序。将一个以三元组表存储的稀疏数组以矩阵的形式打印出来 (测试数据自拟)(要求给出算法、 运行结果的屏幕截图,源程序电子打包提交)# define MAXSIZE 25

15、6 ElemType e;Triple; Triple dataMAXSIZE; int r,c,z;TSMatrix;void InitTSMatrix(TSMatrix *T,int r,int c) *T=(TSMatrix*)malloc(sizeof(TSMatrix); (*T)-r=r;c=c;z=0;void InsertMatrix(TSMatrix *T,int i,int j,int v) if (T-z=MAXSIZE)return; T-dataT-z.i=i;z.j=j;z.e=v;z+;void printfMatrix(TSMatrix *T) int i =

16、0; int index; ElemType *arr=(ElemType*)malloc(sizeof(ElemType)*T-r*T-c); for (;c; i+)arri=0;z; index=(T-datai.i-1)*T-c+(T-datai.j-1); arrindex=T-datai.e; for (i=0; if (i%T-c=0)printf(%dt,arri); free(arr); TSMatrix *T; int i,j,r,c,v;请输入矩阵行数和列数n scanf(%d %d,&i,&j); InitTSMatrix(&T,i,j);请输入非零点的个数n%d j;

17、请输入第%d个点 格式为(行号 列号 数值)n,i+1); scanf(%d %d %dr,&c,&v); InsertMatrix(T,r,c,v); printfMatrix(T); 2013-5-10 实验成绩:实验5 二叉树的操作9掌握二叉树的结构特征及存储结构特点。10掌握二叉树的基本运算。17进入所选择的IDE环境。18书写程序源代码。19调试程序。20验证程序。1.以二叉链表为存储结构,建立二叉树,在此基础上实现二叉要的前序遍历、中序遍历、后序遍历和层次遍历。 (测试数据自拟)2.求题1所建立的二叉树的高度 #include data=c; createTree(&(*T)-lchild);rchild);void PreOrderTraverse(BiThrTree T,void(*visit)(TElemType) if (T) visit(T-da

copyright@ 2008-2022 冰豆网网站版权所有

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