c++使用数组实现双链表list

List 是标准类库中的一个类,可以简单视之为双向链表,以线性列的方式管理物件集合。list 的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list 是类库提供的众多容器(container)之一,除此之外还有vector、set、map、…等等。
我们可以使用数组实现list。
这里我只实现int类型的list,其他类型可以使用模板实现。

这是list的方法

#include<iostream>
using namespace std;
typedef int T; 
class ArrayList2 { 
   public:
    ArrayList2();//构造空线性表
    ArrayList2(int n);//构造长度(即size)为n的线性表
    ~ArrayList2();//析构函数 
	int find(T &x) const;//如果存在,则返回第一次出现的x的位置,否则返回-1。
	void push_back(const T&x); //将x放在最后一项
    void insert(int position,const T&x); 
    //如果0 = <position <= size(),则将x插入到位置位置。
    //否则,动作为空。
    ArrayList2(const ArrayList2& c);//拷贝构造函数 
    const ArrayList2& operator =(ArrayList2& c);//重载=符号 
    int size()const;//返回线性表中元素个数
    int capacity() const; //返回数组的容量
    bool full()const; //如果表满,返回true,否则,返回false。
    bool empty()const{
    	return count==0;
	}//如果表空,返回true,否则,返回false。
    void clear();//将表置为空表
	
    void traverse(void (* v
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值