//模擬實現list容器
namespace list
listnode* _ppre;
listnode* _pnext;
t _val;
}; templateclass listiterator
listiterator(const self& l)
: _pnode(l._pnode)
{}t& operator*()
t& operator->()
self& operator++()
self& operator++(int)
bool operator==(const self& l)
bool operator!=(const self& l)
pnode _pnode;
}; //反向迭代器
templateclass listreverseiterator
listreverseiterator(const self& s)
: _it(s._it)
{}ref operator*()
ptr operator->()
//反向迭代器的++就是正向迭代器的--;相反,方向迭代器的--就是正向迭代器的++
self& operator++()
self& operator++(int)
self& operator--()
self& operator--(int)
bool operator!=(const self& s)
bool operator==(const self& s)
private:
iterator _it;
}; templateclass list
public:
list()
list(int n, const t& value = t())
}templatelist(iterator first, iterator last)
}//拷貝建構函式
list(const list& l)
list& operator=(const list& l)
return *this;
} ~list()
iterator begin();
iterator end()
constiterator cbegin() const
constiterator cend() const
reverseiterator rbegin()
reverseiterator rend()
constreverseiterator crbegin() const
constreverseiterator crend() const
size_t size() const
return count;
} bool empty() const
void resize(size_t newsize; const t& val = t())
else
for(size_t i = newsize; i < oldsize; ++i)
popback();
} //list access
t& front()
const t& front()const
t& back()
const t& back()const
void pushback(const t& val)
void popback()
}void pushfront(const t& val)
void popfront()
}//在pos位置前插入值為val的節點
iterator insert(iterator pos, const t& val)
iterator erase(iterator pos)
void clear()
_phead->_pnext = _phead;
_phead->_ppre = _phead;
} void swap(list& l)
};}
Java實現List介面
list概述及特點 元素有序,並且每乙個元素都存在乙個索引.元素可以重複.list集合的特有功能概述 void add int index,e element 在指定索引處新增元素 e remove int index 移除指定索引處的元素 返回的是移除的元素 e get int index 獲取指...
集合 List介面及實現類
list部分思維導圖 list介面是乙個有序的 collection,list介面能夠精確的控制每個元素插入的位置,能夠通過索引 元素在list中位置,類似於陣列的下標 來訪問list中的元素,第乙個元素的索引為 0,而且允許有相同的元素。特點 list 介面儲存一組不唯一,有序 插入順序 的物件。...
List介面分析
list介面是繼承自collection介面的,有關collection介面 list是一種有序的collection,可以通過索引訪問集合中的資料,看看list中 有哪些方法 1.int size 從collection中繼承 2 boolean isempty 從collection中繼承 3....