Containers in C + + can be roughly divided into two broad categories: sequential containers and associated containers. The sequential container contains a sequential container adapter.
Sequential containers: Aggregates elements of a single type into containers and then stores and accesses them based on location. The main vector, list, deque (two-terminal queue). Sequential container adapters: Stack, queue, and priority_queue.
Associative containers: Supports the use of keys to efficiently find and read elements. Mainly include: pair, set, map, Multiset and Multimap.
Next, in turn, for a variety of containers to do a detailed introduction.
First, sequential container
1. Sequential container definition
In order to define an object of a container type, you must first include the associated header file:
Define vector: #include <vector>
Definition list: #include <list>
Definition deque: #include <deque>
Defining examples
1 2 3 |
vector< int > VI; list< int > li; deque< int > di; |
2. Sequence container initialization
function templates |
Significance |
C<t> C;
|
Create an empty container named C. C is the container type name, such as Vector,t is an element type, such as int or string applies to all containers. |
C c (C2); |
The replica c;c and C2 that create the container C2 must have the same container type and hold elements of the same type. Applies to all containers. |
C c (b,e); |
Creates C, whose elements are copies of the elements within the range that are marked by iterators B and E. Applies to all containers. |
C c (n,t); |
Creates a container C with an element with n values of T, where the value T must be a value of the element type of container type C, or a value that can be converted to that type. Applies only to sequential containers |
c c (n); |
Creates a container c with N-value initialization elements. Applies only to sequential containers |
Initialization example:
1 2 3 4 5 6 7 8 9 10 |
Initialized to a copy of a container vector< |