数据结构与算法(一)LinearList ADT

    线性表个元素的线性序列,记为。线性表是一种动态数据结构,其表长可以变换。线性表上可以执行检索、修改操作,也可以在表中任何位置上执行插入和删除元素的操作。

     线性表ADT

ADT LinearList
{
数据:
    0或多个元素的线性序列,最大允许的长度为MaxListSize
运算:
    Create():    创建一个空线性表
    Destroy():   撤销一个线性表
    IsEmpty():   若线性表空,则返回true;否则返回false
    Length():    返回表中元素的个数
    Find(i, x):  返回表中下标为i的的元素值并赋值给x。若存在,则返回true;否则,返回false
    Search(x):   在表中查找x。若不存在返回-1;存在,返回x在表中的下标
    Insert(i, x):在下标为i(第i+1个)的元素之后插入x。若i=-1,则x插入到下标为0(第1个)的元素之前。
                  插入成功,返回true;否则,返回false
    Delete(i):   删除下标为i的元素。删除成功,返回true;否则,返回false
    Update(i, x):更新下标为i的元素的值,改为x。修改成功,返回true;否则,返回false
    Output():    输出
}

线性表类:LinearList.h

#include <iostream>

using namespace std;

template <class T>
class LinearList
{
public:
	virtual bool IsEmpty()            const = 0;
	virtual int  Length()             const = 0;
	virtual bool Find(int i, T &x)    const = 0;
	virtual int  Search(T x)          const = 0;
	virtual bool Insert(int i, T x)         = 0;
	virtual bool Delete(T x)                = 0;
	virtual bool Update(int i, T x)         = 0;
	virtual void Output(ostream &out) const = 0;
protected:
	int n;
};

未完待续。。。


----------------------------------------------------------------------------------------------------------------------------------------

不是每一次努力都会有收获,但是,每一次收获都必须努力,这是一个不公平的不可逆转的命题 。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值