




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/ 大数阶乘_单链表.cpp : Defines the entry point for the console application. / / file chain.h #ifndef Chain_ #define Chain_ #include #include #include cnode.h #include xcept.h template class ChainIterator; template class Chain friend ChainIterator; public: Chain() first = 0;/构造函数 Chain();/析构函数 bool IsEmpty() const return first = 0;/判断链表是否为空 int Length() const;/求链表的长度 bool Find(int k, T/查找第 k 个元素 int Search(const T/查找元素 x Chain/删除第 k 个元素 Chain/在第 k 个元素之后插入 x void Output(ostream/单链表的输出 Chain/求大数阶乘 private: ChainNode *first;/ 指向第一个节点 ; template Chain:Chain() /删除所有的节点 ChainNode *next; while (first) next = first-link; delete first; first = next; template int Chain:Length() const / 返回链表的长度 ChainNode *current = first; int len = 0; while (current) len+; current = current-link; return len; template bool Chain:Find(int k, T ChainNode *current = first; int index = 1; while (index link; index+; if (current) x = current-data; return true; return false; template int Chain:Search(const T int index = 1; while (current index+; if (current) return index; return 0; template Chain ChainNode *p = first; if (k = 1) first = first-link; else ChainNode *q = first; for (int index = 1; index link; if (!q | !q-link) throw OutOfBounds(); p = q-link; q-link = p-link; x = p-data; delete p; return *this; template Chain ChainNode *p = first; for (int index = 1; index link; if (k 0 ChainNode *y = new ChainNode; y-data = x; if (k) y-link = p-link; p-link = y; else y-link = first; first = y; return *this; template void Chain:Output(ostream int i=0,j=Length(); for (current = first; current;current = current-link) i+; if(i=j else outdata ; i=1; j-; current=first; outsetw(3)setfill(0)data ; template /重载运算符999) Insert(i,j%1000); i+; j=j/1000; Insert(i,j); /计算 long m=0, k=0/进位 ; ChainNode *current; for(;n2;n-) for (current = first;current;current = current-link) m=k; k=(current-data*(n-1)+k)/1000; current-data=(current-data*(n-1)+m)%1000; if(!current-link k=k/1000; Insert(Length(),k); k=0; break; return *this; #endif / file cnode.h / exception classes for various error types #ifndef Xcept_ #define Xcept_ #include / bad initializers class BadInitializers public: BadInitializers() ; / insufficient memory class NoMem public: NoMem() ; / change new to throw NoMem instead of standard behavior / Visual C+ requires following form of my_new_handler int my_new_handler(size_t x) throw NoMem(); / even though the following statement is unreachable, / visual C+ will not compile successfully without it return 0; ; _PNH Old_Handler_ = _set_new_handler(my_new_handler); / improper array, find, insert, or delete index / or deletion from empty structure class OutOfBounds public: OutOfBounds() ; / use when operands should have matching size class SizeMismatch public: SizeMismatch() ; / use when zero was expected class MustBeZero public: MustBeZero() ; / use when zero was expected class BadInput public: BadInput() ; #endif #ifndef ChainNode_ #define ChainNode_ template class Chain; template class ChainIterator; template class KeyedChain; template class LinkedStack; template class ChainNode friend Chain; friend ChainIterator; friend KeyedCha
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广播电视台灯光音响师面试题集锦及解析
- 机电知识培训总结
- 课件丑小鸭教学课件
- 2025年高级地籍测量员面试重点题及答案库
- 课件pp客人投诉处理
- 2025年宠物训练师导盲犬笔试题库
- 2025年应急救援岗位面试重点题解析
- 2025年服装设计师创意表现能力测试试题及答案解析
- 2025年妇联招聘笔试冲刺模拟
- 2025年电子商务运营管理师认证考试试题及答案解析
- 2025年全国高压电工证(复审)理论考试试题(1000题)附答案
- 2025至2030中国富锂锰基正极材料行业全景调研及竞争规模调查报告
- 挂名法定代表人协议
- 高中物理课程标准2025
- 人教版八年级下册道德与法治第三单元第五课5.3基本政治制度教学设计
- 饲料营销技巧培训
- 防治地质灾害培训课件
- 秋季肠道疾病预防
- 2024中国中煤销售集团总部及所属企业电力营销专业人才招聘笔试参考题库附带答案详解
- 初中英语沪教牛津版单词表(共6册)
- 学校安全隐患自查报告及整改措施
评论
0/150
提交评论