91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

課程設(shè)計(jì) 任意長的整數(shù)加法 C++ 數(shù)據(jù)結(jié)構(gòu)

資源截圖

代碼片段和文件信息

#include
#include
#include
using?namespace?std;
struct?linkNode
{
int?data;??????????????????//記錄每個(gè)節(jié)點(diǎn)的整數(shù)(小于10000)
linkNode?*next;????????????//記錄下一個(gè)節(jié)點(diǎn)的地址
linkNode?*pre;?????????????//記錄前一個(gè)節(jié)點(diǎn)的地址
};
class?linkList
{
private:
linkNode?*head0*head1;??????//head0,head1分別記錄兩個(gè)整數(shù)鏈表的頭指針
linkNode?*currptr;
linkNode?*result;????????????//result記錄結(jié)果鏈表的頭指針
public:
linkList();???????????????????//構(gòu)造函數(shù),初始化鏈表
~linkList();?????????????????//析構(gòu)函數(shù),釋放空間
void?Creat(string?a);????????//引入字符串,創(chuàng)立兩個(gè)鏈表,分別表示兩個(gè)整數(shù)
void?Add();??????????????????//實(shí)現(xiàn)兩個(gè)整數(shù)相加
void?Display();??????????????//顯示結(jié)果
void?addtwo();????????????
//節(jié)點(diǎn)多的作為被加數(shù),少的作為加數(shù),實(shí)現(xiàn)整數(shù)絕對(duì)值大的加小的
};





int?sum(int?n);
linkList::linkList()????????????????//構(gòu)造函數(shù),初始化鏈表
{
head0=new?linkNode;???????????
//申請(qǐng)一個(gè)空間記錄整數(shù)的符號(hào)和節(jié)點(diǎn)數(shù)
head1=new?linkNode;
head0->next=head0;
head0->pre=head0;???????????????//初始化鏈表,建立雙向循環(huán)鏈表
head1->next=head1;
head1->pre=head1;
??????result=new?linkNode;
result->next=result;
result->pre=result;
currptr=NULL;
}

linkList::~linkList()????????????????????????//析構(gòu)函數(shù),釋放空間
{
linkNode?*p1=head0*p2=head1*p3=result;??
//三個(gè)指針分別指向三條鏈表的頭指針
while(p1!=p1->pre)????????????????????????
{
????p1->pre->next=p1->next;
????p1->next->pre=p1->pre;
????currptr=p1;
????p1=p1->next;
????delete?currptr;
}
while(p2!=p2->pre)????????????????????????//逐個(gè)刪除節(jié)點(diǎn),釋放空間
{?
????p2->pre->next=p2->next;
????p2->next->pre=p2->pre;
????currptr=p2;
????p2=p2->next;
????delete?currptr;
}
while(p3!=p3->pre)
{
????p3->pre->next=p3->next;
????p3->next->pre=p3->pre;
????currptr=p3;
????p3=p3->next;
????delete?currptr;
}
//?delete?p1;
//?delete?p2;
//?delete?p3;
}

void?linkList::Creat(string?a)???????????????????//引入字符串,創(chuàng)立兩個(gè)鏈表,分別表示兩個(gè)整數(shù)
{
int?i=0j=0m=0n=0k=0l=0s=0w=0;??????
//i記錄字符串,j記錄加數(shù)節(jié)點(diǎn)數(shù);s記錄被加數(shù)節(jié)點(diǎn)數(shù)
????????????????//w標(biāo)記字符串中的‘-’號(hào)
?????????????//k記錄字符串中的字符轉(zhuǎn)化為整數(shù)的值,l使每個(gè)節(jié)點(diǎn)記錄4位
while(a[m]!=‘;‘)?m++;????????????//m記錄字符串中被加數(shù)的字符數(shù)
????n=m;????????????????????????????????
while(a[n]!=‘\0‘)?n++;???????????//n記錄字符串的總字符數(shù)
if(a[0]==‘-‘)
{
????head0->data=(-1);??????????????//記錄整數(shù)符號(hào)
????w=1;
}
else?{head0->data=1;}
for(i=m-1;i>=w;i--)?????????????
{
????if(a[i]!=‘‘)???????????????????//把字符轉(zhuǎn)化為整數(shù)
????{
?????k+=(a[i]-‘0‘)*sum(l);
?????l++;
????}
????if(a[i]==‘‘||i==w)
????{
?????currptr=new?linkNode;?????????????//把整數(shù)存到雙向循環(huán)鏈表中
?????currptr->data=k;
?????currptr->next=head0;
?????currptr->pre=head0->pre;
?????head0->pre->next=currptr;
?????head0->pre=currptr;
?????head0=currptr;?
?????s++;???????????????????????????????//節(jié)點(diǎn)數(shù)加1
?????k=0;???????????????????????????????//重新初始化k和l
?????l=0;?????????????????????????????
????}
}
??????head0->pre->data*=s;?????????????????????//存儲(chǔ)整數(shù)符號(hào)和節(jié)點(diǎn)數(shù)


//與建第一個(gè)整數(shù)鏈表一樣,建立第二個(gè)整數(shù)鏈表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

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-06-04?14:10??任意長的整數(shù)加法\
?????文件????????9765??2011-01-06?13:54??任意長的整數(shù)加法\25.任意長的整數(shù)加法.cpp
?????文件??????170496??2012-06-04?14:10??任意長的整數(shù)加法\25.任意長的整數(shù)加法.doc

評(píng)論

共有 條評(píng)論

相關(guān)資源