ETemp2数据结构课程设计报告.doc

ETemp2数据结构课程设计报告.doc

ID:59006435

大小:119.50 KB

页数:16页

时间:2020-09-15

ETemp2数据结构课程设计报告.doc_第1页
ETemp2数据结构课程设计报告.doc_第2页
ETemp2数据结构课程设计报告.doc_第3页
ETemp2数据结构课程设计报告.doc_第4页
ETemp2数据结构课程设计报告.doc_第5页
资源描述:

《ETemp2数据结构课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构》课程设计报告学号姓名班级计算机科学与技术102班指导教师安徽工业大学计算机学院2012年6月课题一大数相乘问题一、问题描述:本问题中,要求输入两个相对较大的正整数,能够通过程序计算出其结果。这两个大数的位数均在18位以上,不用使用longint类型来处理。二、设计思路:1、首先考虑设计将两个大数按照输入顺序存入分别存入进入线性表L1[MS],L2[MS]中;2、把这个数组中的每一位数字单独来进行乘法运算,比如我们可以用一个数字和另外一个数组中的每一位去相乘,从而得到乘法运算中一行的数字,再将每一行数字错位相加。这就是乘法运算的过从低位往高位依次计

2、算,同时确定每一列的项数,确定每一位上的结果存入链桟PS中;3、然后将桟中元素逐个输出,也就是依次输出各位上的数值;4、通过主函数来调用其它各个函数。三、数据结构定义:1、/*桟结构体定义*/typedefstruct{DataTypedata[MS];inttop;}SeqStack,*PSeqStack;2、/*队列结构体定义*/typedefstruct{DataTypedata[MS];intfront,rear;}SeqQueue,*PSeqQueue;3、/*顺序表结构体定义*/typedefstructnode{DataTypedata[MS]

3、;intlength;}SeqList,*PSeqList;四、系统功能模块介绍:1、桟结构模块:PSeqStackInit_SeqStack()/*初始化空栈*/intEmpty_SeqStack(PSeqStackS)/*判栈空*/intPush_SeqStack(PSeqStackS,DataTypex)/*入栈*/intPop_SeqStack(PSeqStackS,DataType*x)/*出栈*/voidDestroy_SeqStack(PSeqStack*S)/*销毁栈*/2、队列结构体模块:PSeqQueueInit_SeqQueue()/*

4、队列初始化*/intEmpty_SeqQueue(PSeqQueueQ)/*判断队空*/intIn_SeqQueue(PSeqQueueQ,DataTypex)/*入队*/intOut_SeqQueue(PSeqQueueQ,DataType*x)/*出队*/voidDestroy_SeqQueue(PSeqQueue*Q)/*销毁队列*/3、顺序表结构模块:PSeqListInit_SeqList()/*顺序表初始化*/intInsert_SeqList(PSeqListPL,inti,DataTypex)/*顺序表插入*/voidDestroy_SeqL

5、ist(PSeqList*PL)/*销毁线性表*/4、大数其他模块:voidSortSeqQueue(PSeqQueuePQ)/*整理队列,主要是相乘的数进行进位*/voidMultiply(PSeqListPL1,PSeqListPL2,PSeqQueuePQ,PSeqStackPS)/*大数相乘的主函数*/voidPrintResult(PSeqStackPS)/*打印结果*/五、程序清单(源程序):#include#include#include#defineDataTypeint/*定义数据类

6、型为整型*/#defineMS101/*相乘的两个整数总位数不超过100*//*桟结构体定义*/typedefstruct{DataTypedata[MS];inttop;}SeqStack,*PSeqStack;/*初始化空栈*/PSeqStackInit_SeqStack(){PSeqStackS;S=(PSeqStack)malloc(sizeof(SeqStack));if(S){S->top=-1;}returnS;}/*判栈空*/intEmpty_SeqStack(PSeqStackS){if(S->top==-1)return1;elseret

7、urn0;}/*入栈*/intPush_SeqStack(PSeqStackS,DataTypex){if(S->top==MS-1)return0;else{S->top++;S->data[S->top]=x;return1;}}/*出栈*/intPop_SeqStack(PSeqStackS,DataType*x){if(Empty_SeqStack(S))return0;else{*x=S->data[S->top];S->top--;return1;}}/*销毁栈*/voidDestroy_SeqStack(PSeqStack*S){if(*S)f

8、ree(*S);*S=NULL;}/*队列结构体定义

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

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

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