- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安徽工业大学
安徽工业大学
数据结构课程设计
指导老师:陈学进
姓名:陆俊贤
学号:139074382
计算机学院
目录
TOC \o 1-3 \h \z \u 课题一:进制转换 2
1·数据结构: 2
2·算法: 2
3·程序源代码: 2
4·测试数据与调试 6
课题二·一元多项式的计算 7
1·数据结构 7
2·算法 7
3·程序源代码 7
4·测试数据与调试 15
课题三·大数相乘 16
1·数据结构 16
2·算法 16
3·源程序代码 16
4·测试数据与调试 18
课题一:进制转换
1·数据结构:
栈和队列;
2·算法:
将需要转换的数据分为两部分,整数部分和小数部分,将整数部分利用辗转相除法取得的余数存入栈中,将小数部分乘以进制取整后存入队列中,然后顺序出栈和出队列,输出转换后的数值,
3·程序源代码:
#includeiostream
using namespace std;
typedef int datatype;
class Seqstack
{
private:
datatype *base;
datatype *top;
int size;
public:
Seqstack(int stacksize=100)
{
base =new datatype [stacksize];
top=base;
size=stacksize;
};
int Empty_stack();
int Push_stack(datatype e);
int Pop_stack(datatype e);
};
class SeqQueue
{
private:
datatype *base;
int front,rear;
int size;
public:
SeqQueue(int Queuesize=100)
{
base =new datatype [Queuesize];
front=rear=0;
size=Queuesize;
};
int Empty_Queue();
int In_Queue(datatype e);
int Out_Queue(datatype e);
};
int Seqstack::Empty_stack()
{
return top=base;
}
int Seqstack::Push_stack(datatype e)
{
if(top-basesize)
{
*top=e;
top++;
return 1;
}
else
return 0;
}
int Seqstack::Pop_stack(datatypee)
{
if(topbase)
{
top--;
e=*top;
return 1;
}
else
return 0;
}
int SeqQueue::Empty_Queue()
{
return front==rear;
}
int SeqQueue::In_Queue(datatype e)
{
if((rear+1)%size!=front)
{
rear=(rear+1)%size;
base[rear]=e;
return 1;
}
else
return 0;
}
int SeqQueue::Out_Queue(datatype e)
{
if(rear!=front)
{
front=(front+1)%size;
e=base[front];
return 1;
}
else
return 0;
}
void Calculate1(int Num,int r);
void Calculate2(double Num,int r);
int main()
{
int r;
double Num;
cout请输入一个任意十进制数(输入0结束):endl;
while(1)
{
cinNum;
if(Num==0)
return 0;
cout请输入转换进制:endl;
cinr;
cout转换后的数为:endl;
if(Num0)
{
Num=-Num;
cout-;
}
Calculate1((int)Num,r);
if(Num-(int)Num)
{
Calculate2(Num-(int)Num,r);
}
else
coutendl;
cout请输入一个任意十进制数(输入0结束):endl;
}
return 0;
}
void Calculate1(int Num,int r)
{
Seqstack s;
int e;
char ch;
while(Num)
{
e=Num%r;
Num=Num/r;
s.Push_stack(e);
}
while(!
您可能关注的文档
最近下载
- (人教版2019选择性必修第三册)高中物理综合测试卷(原卷版+解析).docx VIP
- 2024年四川省德阳市中考物理试题卷(含答案).docx
- 2024年中考语文专题复习:非连续性文本阅读(含练习题及答案).docx
- 第八章《浮力》单元测试(含解析)2024-2025学年鲁科版物理八年级下学期.pdf VIP
- 铁路轨道车制动系统-研究所.ppt
- 2025年事业单位招聘考试公共基础知识专题复习讲义及训练:法律知识.pdf
- 关于创建“温馨校园”活动的实施方案.pdf
- 产后修复腹直肌护理.pptx VIP
- 辽宁协作校2024-2025学年度高三第二次模拟考英语试题(含答案).docx
- 产后康复-腹直肌分离.pptx VIP
文档评论(0)