数据结构实验题参考答案

数据结构实验题参考答案

ID:13821416

大小:95.00 KB

页数:15页

时间:2018-07-24

数据结构实验题参考答案_第1页
数据结构实验题参考答案_第2页
数据结构实验题参考答案_第3页
数据结构实验题参考答案_第4页
数据结构实验题参考答案_第5页
资源描述:

《数据结构实验题参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【实验题】1.狐狸逮兔子围绕着山顶有10个圆形排列的洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,我就藏身于这十个洞中,你先到1号洞找,第二次隔1个洞(即3号洞)找,第三次隔2个洞(即6号洞)找,以后如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?(提示:这实际上是一个反复查找线性表的过程。)【数据描述】定义一个顺序表,用具有10个元素顺序表来表示这10个洞。每个元素分别表示围着山顶的一个洞,下标为洞的编号。#define LIST_INIT_

2、SIZE 10 //线性表存储空间的初始分配量typedef struct {   ElemType *elem; //存储空间基址   int  length; //当前长度   int listsize; //当前分配的存储容量(以sizeof(ElemType)为单位)}SqList;【算法描述】status InitList_Sq(SqList &L) {  //构造一个线性表L  L.elem=(ElemType )malloc(LIST_INIT_SIZE*sizeof(ElemTy

3、pe));  If(!L.elem) return OVERFLOW;//存储分配失败  L.length=0;                //空表长度为0L.listsize=LIST_INIT_SIZE; //初始存储容量  return OK;} //InitList_Sqstatus Rabbit(SqList &L)  { //构造狐狸逮兔子函数   int current=0; //定义一个当前洞口号的记数器,初始位置为第一个洞口   for(i=0;i

4、ZE;i++)     L.elem[i]=1;//给每个洞作标记为1,表示狐狸未进之洞   L.elem[LIST_INIT_SIZE-1]=L.elem[0]=0;//首先进入第一个洞,标记进过的洞为0。   for(i=2;i<=1000;i++){ current=(current+i)%LIST_INIT_SIZE;//实现顺序表的循环引用   L.elem[i]=0;// 标记进过的洞为0}//第二次隔1个洞找,第三次隔2个洞找,以后如此类推,经过一千次    printf("兔子可

5、能藏在如下的洞中:")    for(i=0;i#include #define OK  1#define OVERFLOW -2typedef int status;typedef int ElemType;#define LIST_INI

6、T_SIZE 10 /*线性表存储空间的初始分配量  */typedef struct {   ElemType *elem; /* 存储空间基址 */   int  length; /* 当前长度  */   int listsize;  /*当前分配的存储容量(以sizeof(ElemType)为单位)*/}SqList;status InitList_Sq(SqList *L){  /*构造一个线性表L  */  (*L).elem=(ElemType *)malloc(LIST_INIT

7、_SIZE*sizeof(ElemType));   if(!((*L).elem))   return OVERFLOW; /* 存储分配失败 */  (*L).length=0; /*空表长度为0   */(*L).listsize=LIST_INIT_SIZE; /*初始存储容量  */  return OK;} /*InitList_Sq  */status Rabbit(SqList *L){  /*构造狐狸逮兔子函数   */   int i,current=0; /*定义一个当前洞

8、口号的记数器,初始位置为第一个洞口*/   for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。