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

数据结构试题

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

上机实验指导

(一)菜单的制作

本例介绍了菜单的制作方法,实现的是菜单显示课程的简称,选择菜单选项后显示相应课程的全称。目的是练习菜单的制作过程。 #include #include int menu_select(); void main() { }

for(;;) { }

switch(menu_select()) {

case 1:printf(\

break;

case 2:printf(\VA Language\\n\

break;

case 3:printf(\

break;

case 4:printf(\

break;

case 5:printf(\

break;

case 0:printf(\ }

exit(0);

- 46 -

int menu_select() { int sn; printf(\ printf(\VA\\n\ printf(\ printf(\ printf(\ printf(\ printf(\~5:\ for(; ;) { scanf(\ if(sn<0||sn>5) printf(\输入错误,重选0~5:\

else

break;

} return sn;

}

(二)动态顺序表的实现

(1)完成对动态顺序表的如下操作:

1.构造空的顺序表 2.创建 3.查找 4.插入 5.删除 6.显示 *7.归并 0.退出(2)预编译命令与类型定义 #include #include #define OK 1 #define ERROR 0

#define OVERFLOW -2 //请注意,以上5行预编译命令在所有实验都加

- 47 -

#define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef int Status; typedef int ElemType; typedef struct {

ElemType *elem; int length; int listsize;

//表存储空间的初始分配量 // 线性表存储空间的分配增量

// 存储空间基址 // 当前长度

// 当前分配的存储容量(以sizeof(ElemType)为单位)

} SqList;

(三)单链表的实现

(1)完成对单链表的如下操作:

1.构造空链 2.创建 3.查找 4.插入 5.删除 6.显示 *7. 排序 0.退出 (2)预编译命令与类型定义 typedef int Status; typedef char ElemType; typedef struct LNode {

ElemType data; struct LNode *next;

}LNode,*LinkList;

*(四)多项式加法的实现 (1)完成2个多项式的加法

(2)预编译命令与类型定义、函数首部 typedef int Status; typedef struct {

float coef;

- 48 -

int expn;

} term, ElemType;

//数据元素为结构体类型

typedef struct LNode { ElemType data;

struct LNode *next;

}LNode, *LinkList;

typedef LinkList polynomial;

void CreatPolyn ( polynomial &P, int m); void PrintList_L(LinkList &L); int cmp (term a , term b);

void AddPolyn (polynomial &Pa, polynomial &Pb); (3)显示多项式与比较指数的函数 void PrintList_L(LinkList &L) //显示多项式

{ LinkList p; p=L->next;

printf(\ p=p->next; while(p) { printf(\ p=p->next;

}

printf(\

}

int cmp (term a , term b)

//依a的指数值<(或 = )(或>)b的数值部分,分别返回-1,0,和+1 {

int c;

- 49 -

}

if(a.expn

*(五)链式栈的实现

(1)完成对链式栈的如下操作:

1.构造空栈 2.创建栈 3.查找 4.入栈 5.出栈 6.显示 *7. 括号匹配 0.退出 (2)预编译命令与类型定义 同单链表的实现

拓展:也可以用顺序栈实现括号匹配算法。

(六)循环队列的实现

(1)完成对循环队列的如下操作:

1.构造空队列 2.创建队列 3.求队列的长度 4.入队列 5.出队列 6.显示 0.退出 (2)预编译命令与类型定义

#define MAXQSIZE 100 //最大队列长度 typedef int Status; typedef int QElemType; typedef struct {

QElemType *base; // 动态分配存储空间

int front; // 头指针,若队列不空, 指向队列头元素

int rear; // 尾指针,若队列不空,指向队列尾元素的下一个位置 } SqQueue;

拓展:循环队列的最大队列长度可以做成构造空队列函数的参数。

(七)二叉树的实现

(1)完成对二叉链表的如下操作:

1.构造空二叉树 2.创建二叉树 3. 销毁二叉树

- 50 -

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

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