鱼C论坛

 找回密码
 立即注册
查看: 3664|回复: 4

[技术交流] 用C++实现的一个线性表,功能比较全,附源代码

[复制链接]
发表于 2012-11-27 16:46:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用C++实现了一个线性表,长度能够动态变化,基本能满足所有需要了,在具体编写过程中,有一点要提醒大家注意,就是当我们自己编写类的时候,对类的=操作最好进行重载。特别是当类立面有指针的时候,否则很多时候你会发现莫名其妙的错误。 线性表.zip (3.68 KB, 下载次数: 10)

具体功能如下:
_QUEUE_NODE();//默认构造函数
        _QUEUE_NODE(unsigned size);//初始化线性表的大小
        ~_QUEUE_NODE();//析构函数
        
        unsigned GetLength();//获取线性表的长度
        unsigned GetCount();//获取线性表中元素数量
        int GetHead();//获取头部元素
        int GetTail();//获取尾部元素
        bool Push(int val);//在尾部添加一个元素
        int GetAt(unsigned pos);//获取某个位置的元素
        bool SetAt(unsigned pos,int val);//修改某个位置的元素
        bool SmartAdd();//动态增加空间
        bool SmartAdd(unsigned size);//增加指定大小内存
        void DestoryList();//销毁线性表
        bool ClearList();//清空线性表
        bool IsEmpty();//判断是否为空线性表
        int Pop();//将第一个值弹出
        bool ListInsert(unsigned pos,int val);//在指定位置插入元素
        bool ListDelete(unsigned pos);//删除某个位置的元素
        int FindPos(int val);//查询某个元素第一次出现的位置
        int FindPos(unsigned startPos,int val);//从某个位置开始查询
        bool ListSort();//排序(递增)
        bool ListReserve();//反转元素
        bool IsFull();//线性表有没有满
        bool ListSplit(unsigned pos,_QUEUE_NODE *q1,_QUEUE_NODE *q2);//将一个线性表从指定位置拆分为两个,结果存放在q1,q2中
        unsigned GetCount(int val);//判断某个元素出现的次数
        unsigned ReplaceElement(int oldVal,int newVal);//替换所有oldVal元素为newVal
        unsigned ReplaceElement(int oldVal,int newVal,unsigned num);//替换,最后一个参数表示替换的次数
        unsigned ReplaceElement(int oldVal,int newVal,int iStart,int iEnd);//在一个区间内替换
        static _QUEUE_NODE* GetIntersection(_QUEUE_NODE &q1,_QUEUE_NODE &q2);//取两个线性表的交集
        static _QUEUE_NODE* GetAdd(_QUEUE_NODE &q1,_QUEUE_NODE &q2);//去两个线性表的并集
        static bool IsSon(_QUEUE_NODE &q1,_QUEUE_NODE &q2);//求q2是否是q1的子集
        static _QUEUE_NODE* GetComplement(_QUEUE_NODE &q1,_QUEUE_NODE &q2);//求q2在q1中的补集 
        int operator=(_QUEUE_NODE &q);//对=操作符进行重载
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-12 21:43:05 | 显示全部楼层
进来下载楼主的东西,谢谢分享,学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-7-2 18:02:45 | 显示全部楼层
看帖,必须回帖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-3 16:31:30 | 显示全部楼层
看看,留个脚印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-3 17:45:04 | 显示全部楼层
看帖,支持下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 05:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表