单向环表实现约瑟夫环

单向环表实现约瑟夫环

ID:12936977

大小:22.09 KB

页数:10页

时间:2018-07-19

单向环表实现约瑟夫环_第1页
单向环表实现约瑟夫环_第2页
单向环表实现约瑟夫环_第3页
单向环表实现约瑟夫环_第4页
单向环表实现约瑟夫环_第5页
资源描述:

《单向环表实现约瑟夫环》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构与算法设计》实验报告——实验1(选作)学院:自动化学院班级:自动化2班学号:1320110130姓名:赵帅一、实验目的:进一步加强对抽象数据类型的理解;掌握对顺序表的各种操作;二、实验内容归并顺序表。三、程序设计1、概要设计:(说明程序中用到的抽象数据类型定义,宏定义,主程序的流程以及各个程序模块之间的调用关系,给出主要流程图)抽象数据类型定义:ADTList{数据对象:D={ai

2、ai∈ElemSet,i=1,2,…,n,n≥0}数据关系:R1={

3、ai-1,ai∈D,i=1,2,…,n}基本操作:initlist_Sq(

4、SqList&L)操作结果:构造一个空的线性表L。    ListEmpty(L)    初始条件:线性表L已存在。    操作结果:若L为空表,则返回TRUE,否则返回FALSE。        ListInsert_Sq(SqList*L,inti,ElemTypee)初始条件:线性表L已存在。    操作结果:在第i个位置上插入一个元素。      Print_Sq(SqListL)初始条件:线性表已存在。操作结果:输出顺序表。 }ADTList宏定义:#defineLength10#defineLISTINCREMENT10#defineTRU

5、E1#defineFALSE0#defineOK1#defineERROR-1#defineOVERFLOW-2typedefintStatus;typedefintElemType;流程图:  四、程序调试分析(程序运行中遇到的问题与改正措施,以及对程序调试的体会与收获)在c的环境下运行了程序,应该在c++的文件里运行;声明变量i,在第一次使用后没有重新赋值为零,直接作为下次输入数据时的变量;没有搞明白引用的关系;五、用户使用说明(说明如何使用你的程序,给出操作步骤)双击应用程序,显示器上出现“请输入按升序排列的整数序列La=”时,输入用户想要输入的

6、数据后并输入0做为结束标记,按“enter”结束;显示器上出现“请输入按升序排列的整数序列Lb=”时,输入用户想要输入的数据并输入0做为结束标记,按“enter”结束。即可得到想要的结果。六、程序运行结果(列出测试结果,包括输入和输出,最好给出2个测试结果)1,请输入按升序排列的整数序列La=34560请输入按升序排列的整数序列Lb=56780合并后的顺序表为:3456781,2请输入按升序排列的整数序列La=1234567890请输入按升序排列的整数序列Lb=234540合并后的顺序表为:123456789七、程序清单(要求给函数加上注释)/*顺序表

7、的归并操作*/#include#include#include#include#defineLength10#defineLISTINCREMENT10#defineTRUE1#defineFALSE0#defineOK1#defineERROR-1#defineOVERFLOW-2typedefintStatus;typedefintElemType;typedefstructlineorder{int*elem;intlength;intlistsize;}SqList

8、;Statusinitlist_Sq(SqList&L)/*初始化顺序表*/{L.elem=(ElemType*)malloc(sizeof(ElemType)*Length);if(!L.elem)exit(OVERFLOW);L.listsize=Length;L.length=0;returnOK;}Statuslistempty_Sq(SqListc)/*测试顺序表是否为空*/{if(c.length!=0)return(FALSE);return(TRUE);}StatusListInsert_Sq(SqList*L,inti,ElemTyp

9、ee)/*在第i个位置上插入一个元素*/{intj,*newbase;if(i<1

10、

11、i>L->length+1)returnERROR;if(L->length>=L->listsize){newbase=(ElemType*)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(OVERFLOW);L->elem=newbase;L->listsize+=LISTINCREMENT;}for(j=L->length;j>=i;--j)L->ele

12、m[j]=L->elem[j-1];L->elem[j]=e;++L->length;retu

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

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

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