双向链表实现 数据结构综合设计--c语言计算器

双向链表实现 数据结构综合设计--c语言计算器

ID:17438261

大小:33.00 KB

页数:10页

时间:2018-08-31

双向链表实现 数据结构综合设计--c语言计算器_第1页
双向链表实现 数据结构综合设计--c语言计算器_第2页
双向链表实现 数据结构综合设计--c语言计算器_第3页
双向链表实现 数据结构综合设计--c语言计算器_第4页
双向链表实现 数据结构综合设计--c语言计算器_第5页
资源描述:

《双向链表实现 数据结构综合设计--c语言计算器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、双向链表实现数据结构综合设计--C语言计算器#include#includeusingnamespacestd;typedefstructdouble_List{intdata;//节点的值structdouble_List*next;//节点后继指针structdouble_List*prior;//节点前驱指针}Link,*Linklist;Linklistinsert_nextNode(Linklista)//为a后边新建后继空结点{Linklistp=newLink();p->data=0;p

2、->prior=a;a->next=p;p->next=NULL;returnp;}Linklistinsert_priorNode(Linklista)//{Linklistp=newLink();p->data=0;p->prior=NULL;a->prior=p;p->next=a;returnp;}voidDelete(Linklista)//删除a节点{a->prior->next=a->next;//将a单独出来a->next->prior=a->prior;delete[]a;}voidADD(Linklisth1,Lin

3、klisth2){intj=0;//总长度Linklistresult=newLink();Linklisthead1=h1->next;//因为第一个节点不是数值,是符号+长度Linklisthead2=h2->next;result->data=0;Linklisth=result;while((h1!=head1)&&(h2!=head2))//链表反向相加,用prior{result->data=result->data+h1->data+h2->data;if(result->data>9999){result->data-=

4、10000;result=insert_priorNode(result);result->data++;}elseresult=insert_priorNode(result);h1=h1->prior;h2=h2->prior;j++;}if(h2!=head2)while(h2!=head2)//h2有剩余{result->data=result->data+h2->data;if(result->data>9999){result->data-=10000;result=insert_priorNode(result);resu

5、lt->data++;}elseresult=insert_priorNode(result);h2=h2->prior;j++;}elsewhile(h1!=head1)//h1有剩余{result->data=result->data+h1->data;if(result->data>9999){result->data-=10000;result=insert_priorNode(result);result->data++;}elseresult=insert_priorNode(result);h1=h1->prior;j++

6、;}/**/if(result->data==0){result=result->next;j--;result->prior=h;h->next=result;}else{result->prior=h;h->next=result;}cout<data;if(j!=0)cout<<',';result=result->next;for(inti=0;idata);if(i!=j-1)cout<<',';result=result->next;}cout<<

7、endl;}voidSUB(Linklisth1,Linklisth2)//

8、h1

9、>=

10、h2

11、{intj=0;intn1=h1->next->data;intn2=h2->next->data;Linklistresult=newLink();Linklisthead1=h1->next;Linklisthead2=h2->next;result->data=0;Linklisth=result;while((h1!=head1)&&(h2!=head2)){result->data=result->data+h1->data-h2-

12、>data;if(result->data<0){result->data+=10000;result=insert_priorNode(result);result->data--;}elseresult

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

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

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