云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构长整数四则运算

数据结构长整数四则运算

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 2:53:28

p3=p3->next; delete currptr; }

// delete p1; // delete p2; // delete p3; }

void LinkList::Creat(string a) //引入字符串,创立两

//个链表,分别表示两个整数

{

int i=0,j=0,m=0,n=0,k=0,l=0,s=0,w=0;

//i记录字符串,j记录加数节点数;s记录被加数节点数 //w标记字符串中的‘-’号

//k记录字符串中的字符转化为整数的值,l使每个节点记录4位 while(a[m]!=';') m++; //m记录字符串中被加数的字符数 n=m;

while(a[n]!='\\0') n++; //n记录字符串的总字符数 if(a[0]=='-') {

head0->data=(-1); //记录整数符号 w=1; } else { }

for(i=m-1;i>=w;i--) {

if(a[i]!=',') //把字符转化为整数

head0->data=1;

{

k+=(a[i]-'0')*sum(l); l++; }

if(a[i]==','||i==w) {

currptr=new LinkNode; //把整数存到双向循环链表中 currptr->data=k; currptr->next=head0; currptr->pre=head0->pre; head0->pre->next=currptr; head0->pre=currptr; head0=currptr;

s++; //节点数加1 k=0; //重新初始化k和l l=0; } }

head0->pre->data*=s; //存储整数符号和节点数

//与建第一个整数链表一样,建立第二个整数链表head1 k=0;l=0; if(a[m+1]=='-') {

head1->data=(-1); m++; } else

head1->data=1; for(i=n-1;i>m;i--)

{

if(a[i]!=',') {

k+=(a[i]-'0')*sum(l); l++; }

if(a[i]==','||i==m+1) {

currptr=new LinkNode; currptr->data=k; currptr->next=head1; currptr->pre=head1->pre; head1->pre->next=currptr; head1->pre=currptr; head1=currptr; j++; k=0; l=0; } }

head1->pre->data*=j; }

void LinkList::Add() //实现两个整数相加 {

LinkNode *temp;

if(abs(head0->pre->data)>abs(head1->pre->data)) //两个整数中,绝对值大的为被加数 addtwo();

else if(abs(head0->pre->data)pre->data))

{

temp=head0; head0=head1; head1=temp; addtwo(); }

else if(abs(head0->pre->data)==abs(head1->pre->data)) {

int k1,k2;

LinkNode *p=head0,*q=head1; //如果节点数相同,则判断节点中数值大小

while(p->data==q->data&&p!=head0->pre->pre&&q!=head1->pre->pre) {

p=p->next; q=q->next; }

k1=p->data; k2=q->data; if(k1>k2) addtwo(); else {

temp=head0; head0=head1; head1=temp; addtwo(); } } }

搜索更多关于: 数据结构长整数四则运算 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

p3=p3->next; delete currptr; } // delete p1; // delete p2; // delete p3; } void LinkList::Creat(string a) //引入字符串,创立两 //个链表,分别表示两个整数 { int i=0,j=0,m=0,n=0,k=0,l=0,s=0,w=0; //i记录字符串,j记录加数节点数;s记录被加数节点数 //w标记字符串中的‘-’号 //k记录字符串中的字符转化为整数的值,l使每个节点记录4位 while(a[m]!=';') m++; //m记录字符串中被加数的字符数 n=m;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com