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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构实验报告Word文档下载推荐.docx

1、三. 实验前的准备 了解线性表的顺序和链式存储结构。 理解并定义线性表的存储结构,线性表的运算。三 实验要求及实验软硬件环境【基本要求】 理解并定义线性表的存储结构。 掌握线性表的基本操作:【实验组织方式】 个人实验【实验条件】 Windows操作系统四 实验过程及程序清单 1、线性表的基本操作的程序代码:#include stdio.hmalloc.hprocess.hstring.h#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define TRUE 1#define FALSE

2、0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct ElemType *elem; int length; int listsize; List;Status InitList(List &L) /构造一个空的线性表。 L.elem=(ElemType * ) malloc(LIST_INIT_SIZE * sizeof(ElemType); L.length = 0; L.listsize=LIST_INIT_SIZE; printf(初始化一个线性表n

3、n); return OK;Status DestroyList(List & if(L.elem) free(L.elem); / 释放分配的存储空间 L.elem=NULL; L.length=0; L.listsize=0;销毁表!nnStatus GetElem (List L, int i, ElemType &e) if(iL.length+1) return ERROR; /i值不合法 e=L.elemi -1; Status ListInsert(List &L,int i,ElemType e) ElemType *q,*p,*newbase; if (i=L.listsiz

4、e)newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType); if (!newbase) return(OVERFLOW); L.elem=newbase; L.listsize+=LISTINCREMENT; q=&(L.elemi-1); for(p=&(L.elemL.length-1);p=q;-p) *(p+1)=*p; *q=e; +L.length; /插入数据Status ListDelete(List &L,int i,ElemType & ElemType *p,*q; if

5、 (iL.length) return ERROR; p=& e= *p; q=(L.elem+L.length-1); for (+p;p+p) *(p-1)=*p; -L.length; / 删除数据void main() List L; ElemType e1,e2; Status k; int i,a,b,c,d,e,n,j; /初始化线性表L InitList(L);初始化表元素个数: scanf(%d,&n); /往线性表插入数据 for(i=1;i=n;i+)输入所插入的数据:a); ListInsert(L,i,a); / 将表L中的第b个元素的值赋给e for(j=1;j2;

6、)请选择您要进行的操作:1 :插入 2:取元素 3:删除 4:销毁nc); if(c=1) printf(请输入插入元素的位置及元素: scanf(%d %dd,&e); ListInsert(L,d,e);线性表元素总数为%dn,n+1); n+; for(i=1; printf(%d n,L.elemi-1); if(c=2)输入要取数的位数:b); if(bL.length)输入错误!n continue ; GetElem(L,b,e1); if(k=ERROR)读取数据失败,b); else第%d个元素的值为%dn,b,e1); /删除元素 if(c=3)输入删除第几个数: if(c

7、L.length)元素不存在n k=ListDelete(L,c,e2); / 删除第c个数据 if(k=ERROR) / 表中不存在第c个数据删除第%d个元素失败n ,c); else / 表中存在第c个数据,删除成功,其值赋给e2删除第%d个元素成功,其值为%dnn,c,e2); /销毁表 if(c=4) j+; DestroyList(L);销毁L后,L.length=%d,L.listsize=%d,L.elem=%unn,L.length, L.listsize, L.elem); 2、链式存储结构的基本操作的程序代码:#include stdlib.htypedef struct

8、student int number; struct student *next; char name10;student;typedef struct student *stud;void CreateList();stud head;void detele();void insertList();void print();void destorylist();void reverse();int main(int argc, char *argv) int c=0; while(c!=-1)tt链式存储结构的基本操作nnt1.创建链表nt2.插入元素nt3.删除单个元素nt4.销毁元素nt

9、5.翻转链表nt-1.退出n请选择操作: switch(c) case 1: CreateList(); break; case 2: insertList(); case 3: detele(); case 4: destorylist(); case 5: reverse(); default: exit(0); break ; system(PAUSE return 0;/*创建链表*/void CreateList() stud pointer; stud New; head=(stud)malloc(sizeof(student); if(head=NULL) Memory malloc failture! exit(-1); pointer=head; int i=0; /循环读入 while(i+number);please input the name:%s,New-name); New-next=NULL; pointer-next=New; pointer=New; print();/*插入链表*/ void insertList() int tag; int pos;请选择插入方式:0.头部 1.尾部 2.中间:pos); if(pos=2)n请选择欲插入的位置:tag);please input the nu

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

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