77范文网 - 专业文章范例文档资料分享平台

201310913232数据结构

来源:网络收集 时间:2020-03-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

河南工程学院 计算机学院

实验报告册 数据结构)

学 期: 2014---2015 课 程: 数据结构 专 业: 计算机科学与技术 班 级: 1342班 学 号: 201310913232 姓 名: 章玆广 指导教师: 李芳

1

目 录

实验一 顺序表基本操作的实现 ........................................ 1 实验二 单链表基本操作的实现 ........................................ 5 实验三 实验四 实验五 实验六 实验七 实验八

顺序栈和队列基本操作的实现 ............................. 9 二叉树基本操作的实现 ...................................... 13 线索二叉树的实现 ............................................. 17 图遍历操作的实现 ............................................. 21 查找操作的实现 ................................................ 28 排序过程的实现 ................................................ 30

2

实验一 顺序表基本操作的实现

一、实验学时: 2学时 二、实验目的

实现顺序表的基本操作

三、实验内容

1. 顺序表的建立、取指定元素、返回指定元素位置 2.顺序表中插入新元素、删除指定元素操作的实现

四、主要仪器设备及耗材

硬件:计算机一台

软件:VC++ 6.0,MSDN2003或者以上版本

五、实验步骤

1. 分析问题 2. 写出算法 3. 编制程序 4. 上机调试 5. 分析结果

六、程序清单

#include #include #define MaxSize 50 typedef char ElemType; typedef struct { ElemType elem[MaxSize]; int length; } SqList;

extern void InitList(SqList *&L); extern void DestroyList(SqList *L); extern int ListEmpty(SqList *L); extern int ListLength(SqList *L); extern void DispList(SqList *L);

1

extern int GetElem(SqList *L,int i,ElemType &e); extern int LocateElem(SqList *L, ElemType e); extern int ListInsert(SqList *&L,int i,ElemType e); extern int ListDelete(SqList *&L,int i,ElemType &e); void InitList(SqList *&L) { L=(SqList *)malloc(sizeof(SqList)); L->length=0; }

void DestroyList(SqList *L) { free(L); }

int ListEmpty(SqList *L) { return(L->length==0); }

int ListLength(SqList *L) { return(L->length); }

void DispList(SqList *L) { int i; if (ListEmpty(L)) return; for (i=0;ilength;i++) printf(\ printf(\}

int GetElem(SqList *L,int i,ElemType &e) { if (i<1 || i>L->length) return 0; e=L->elem[i-1]; return 1; }

int LocateElem(SqList *L, ElemType e) { int i=0; while (ilength && L->elem[i]!=e) i++; if (i>=L->length) return 0; else return i+1; }

int ListInsert(SqList *&L,int i,ElemType e) { int j; if (i<1 || i>L->length+1) return 0; i--; /*将顺序表位序转化为elem下标*/ for (j=L->length;j>i;j--) /*将elem[i]及后面元素后移一个位置*/ L->elem[j]=L->elem[j-1]; L->elem[i]=e; L->length++; /*顺序表长度增1*/ return 1; }

int ListDelete(SqList *&L,int i,ElemType &e) { int j; if (i<1 || i>L->length) return 0; i--; /*将顺序表位序转化为elem下标*/ e=L->elem[i]; for (j=i;jlength-1;j++) L->elem[j]=L->elem[j+1]; L->length--; return 1; }

2

void main() { SqList *L; ElemType e; printf(\一﹑顺序表L的建立如下:\\n\ printf(\初始化顺序表L\\n\ InitList(L); printf(\依次采用尾插法插入a,b,c,d,e元素\\n\ ListInsert(L,1,'a'); ListInsert(L,2,'b'); ListInsert(L,3,'c'); ListInsert(L,4,'d'); ListInsert(L,5,'e'); printf(\输出顺序表L:\ DispList(L); printf(\顺序表L长度=%d\\n\ printf(\顺序表L为%s\\n\空\非空\ GetElem(L,3,e); printf(\

printf(\二﹑取指定元素:\\n\ printf(\顺序表L的第3个元素=%c\\n\ printf(\

printf(\三﹑返回指定元素位置:\\n\ printf(\元素a的位置=%d\\n\ printf(\

printf(\四﹑顺序表中插入新元素:\\n\ printf(\在第4个元素位置上插入f元素\\n\ ListInsert(L,4,'f'); printf(\输出顺序表L:\ DispList(L); printf(\

printf(\五﹑删除指定元素:\\n\ printf(\删除L的第3个元素\\n\ ListDelete(L,3,e); printf(\输出顺序表L:\ DispList(L); printf(\释放顺序表L\\n\ DestroyList(L); }

七、运行结果及分析

3

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库201310913232数据结构在线全文阅读。

201310913232数据结构.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/874807.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: