- C++ Bitsets
- C++ Double-Ended Queues
- C++ Lists
- C++ Maps
- C++ Multimaps
- C++ Multisets
- C++ Priority Queues
- C++ Queues
- C++ Sets
- C++ Stacks
- C++ Vectors
- Iterators
C++链表:
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.
assign() | 给list赋值 |
back() | 返回最后一个元素 |
begin() | 返回指向第一个元素的迭代器 |
clear() | 删除所有元素 |
empty() | 如果list是空的则返回true |
end() | 返回末尾的迭代器 |
erase() | 删除一个元素 |
front() | 返回第一个元素 |
get_allocator() | 返回list的配置器 |
insert() | 插入一个元素到list中 |
max_size() | 返回list能容纳的最大元素数量 |
merge() | 合并两个list |
pop_back() | 删除最后一个元素 |
pop_front() | 删除第一个元素 |
push_back() | 在list的末尾添加一个元素 |
push_front() | 在list的头部添加一个元素 |
rbegin() | 返回指向第一个元素的逆向迭代器 |
remove() | 从list删除元素 |
remove_if() | 按指定条件删除元素 |
rend() | 指向list末尾的逆向迭代器 |
resize() | 改变list的大小 |
reverse() | 把list的元素倒转 |
size() | 返回list中的元素个数 |
sort() | 给list排序 |
splice() | 合并两个list |
swap() | 交换两个list |
unique() | 删除list中重复的元素 |
程序实现:
list<int> charList;
int i = 0;
for (int i = 0; i < 10; i++)
{
charList.push_back(i + 65);
}
list<int>::iterator theIterator;
charList.unique();//unique()函数删除链表中所有重复的元素
charList.sort();//sort()函数为链表排序,默认是升序
charList.pop_back();//pop_back()函数删除链表的最后一个元素
for (theIterator = charList.begin(); theIterator != charList.end(); theIterator++)
cout << *theIterator<<endl;
cout << "链表的第一个元素"<<charList.front()<<endl;
int i = 0;
for (int i = 0; i < 10; i++)
{
charList.push_back(i + 65);
}
list<int>::iterator theIterator;
charList.unique();//unique()函数删除链表中所有重复的元素
charList.sort();//sort()函数为链表排序,默认是升序
charList.pop_back();//pop_back()函数删除链表的最后一个元素
for (theIterator = charList.begin(); theIterator != charList.end(); theIterator++)
cout << *theIterator<<endl;
cout << "链表的第一个元素"<<charList.front()<<endl;
C++ Queues(队列)
C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
back() | 返回最后一个元素 |
empty() | 如果队列空则返回真 |
front() | 返回第一个元素 |
pop() | 删除第一个元素 |
push() | 在末尾加入一个元素 |
size() | 返回队列中元素的个数 |
程序实现:
queue<int> intQueue;
for (int i = 0; i < 10; i++)
{
intQueue.push(i);
}
while (intQueue.size())
{
printf("%d\n", intQueue.front());
intQueue.pop();
}