河南工程学院 计算机学院
实验报告册 数据结构)
学 期: 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
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;i
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 (i
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;j
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数据结构在线全文阅读。
相关推荐: