- 1
- 0
- 约1.79万字
- 约 16页
- 2017-10-22 发布于北京
- 举报
C数据结构线性顺序结构
C++线性顺序结构
1,这是一个用C++实现的采用动态数组为基础的线性顺序表,栈,和循环队列。
2,同时采用了模板,可以实现对不同的基本数据类型进行操作。
3,因为VC++6.0不支持模板的分离编译,所以类的接口和实现全放在头文件中。
4,此文档中的内容全部通过VC++6.0的编译,对它们也做了一些简单的测试,但类的方法中没有包含对”输入的数据的类型”是否合法进行检测,所以在输入数据时要注意。
5,因为本人只是学生,此文档中的内容只能用于交流和参考。其中很多算法的可靠性和时空复杂度并没有进行测试。
6,其中顺序表和栈是以动态数组为基础,并以10为单位(即每次可以动态的增加或减少10个元素的内存)。
7,队列采用的是循环队列,因为以数组为基础必须采用循环队列,不然每次入队或出队就要对整个队列进行移动数据,这样会造成效率低下。
8,因为是循环队列,所以就不方便使用动态数组进行增加或减少元素。
9,如果其中有算法效率低下,使用不合理请多包含和指正,同时也希望大家学有所成。
10,以下是源文件中的内容,全部是.H源文件。
//动态顺序表的Sequence.h源文件。
#ifndef Sequence_h
#define Sequence_h
#include iostream
#include iomanip
using namespace std;
const int lon=10; //表的初始长度和每次自动增长和自动减少的长度
templateclass Tey
class Sequence //动态顺序表类
{
public:
Sequence(); //创建动态顺序表
~Sequence()
{ delete[]phod;} //释放动态内存
void Output(); //输出表中有效元素内容
int Number(); //返回当前有效元素个数
int Total_length(); //返回当前顺序表总长
bool Plus_Tail(Tey m);//向表尾部增加数据
bool Insert_Bit(int n,Tey m);//在指定n位置插入数据m
bool Insert_data(Tey x,Tey m); //在指定数据为x的第一个位置插入数据m
bool Insert_All(Tey x,Tey m); //在指定数据为x的所有位置插入数据m
Tey Search_data(int n); //返回指定位置的数据
int Search_Number(Tey m);//查找指定数据m在表中的总个数
int Search_Bit(Tey m); //返回指定数据m在表中第一个元素的位置,失败返回-1
bool Delete_Bit(int n); //删除指定位置n的元素
bool Delete_All(Tey m); //删除指定数据m在表中的所有元素
bool Modify_Bit(int n,Tey m);//将指定位置为n的元素数据修改为m
bool Modify_All(Tey x,Tey m);//将指定数据为x在表中的所有元素修改为m
void Sort_l(); //对表元素进行升序
void Sort_Drop(); //对表元素进行降序
bool Replication(SequenceTey Table);//将表中数据复制给Table表
bool Merge_And(SequenceTey Table); //将Table表中的数据按并集合并到顺序表中
bool Merge_Pay(SequenceTey Table); //将Table表中的数据按交集合并到顺序表中
bool Merge_Dif(SequenceTey Table); //将Table表中的数据按差集合并到顺序表中
bool Increasing(); //自动增长顺序表函数
bool Reduction(); //自动减短顺序表函数
bool Filter(); //过滤表中重复数据
void Empty(); //清空表
private:
Tey *phod; //表指针
int Total,length; //Total表示表的总长,length表示有效元素个数.
};
templateclass Tey
SequenceTey::Sequence()
您可能关注的文档
- 7秋姑娘的信课内练习.doc
- 801金龙王和红金龙版.doc
- 80后MM的理财之道房产基金保险一个都不少.docx
- 80后女画家号召“剩女别结婚”.doc
- 7天无理由退换货政策实施现状.docx
- 80后夫妻温馨新房装修效果图.doc
- 80后感人至深的一份情书.doc
- 80后相声嘻哈包袱铺台词.doc
- 80级毕业之后应该知道二三事.doc
- 7种食物让你成为坚挺男人.doc
- 2026及未来5年中国电磁铁行业市场发展监测及投资战略咨询报告.docx
- 2026及未来5年中国建筑工程机械行业市场发展监测及投资战略规划报告.docx
- 2026及未来5年中国硫化镍行业市场调研分析及投资战略规划报告.docx
- 2026及未来5年中国烷化剂市场运营态势及发展前景预测报告.docx
- 2026年涤纶细旦长丝项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年弓型虫抗体试剂项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年拖链系统用高柔性数据传输电缆项目可行性研究报告(市场数据调查、监测研究).docx
- 2025年中国水晶圆盘市场调查研究报告.docx
- 2025年中国长网双辊挤浆机市场调查研究报告.docx
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
最近下载
- 2026年长沙电力职业技术学院单招职业技能考试参考题库附答案详解.docx VIP
- 陈敏恒 化工原理 第5版 课后习题答案.docx VIP
- TCAEPI43-2022 电絮凝法污水处理技术规程.pdf VIP
- 2025年中国PE_VC基金行业CFO白皮书-.pdf VIP
- 芦笋种植方案.pptx VIP
- 预防医学导论课程教学大纲.docx VIP
- 矿物加工总论.pdf VIP
- 九年级下学期数学教学计划和培优补差.docx VIP
- 【英语】河南省天一大联考·2024-2025学年高三考前模拟考试含答案或解析.pdf VIP
- ISO IEC 27005-2022 信息安全、网络安全和隐私保护—信息安全风险管理指南(2022)(推荐下载).pdf VIP
原创力文档

文档评论(0)