常用容器操作
1.vector 和 ArrayList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| vector<int> a; - ArrayList<Integer> a = new ArrayList<>(); size() - size() empty() - isEmpty() clear() - clear front()/back() - get(0)/get(a.size() - 1) push_back()/pop_back() - add()/remove(a.size() - 1) begin()/end() - iterator() [] - get() 支持比较运算 - 不支持比较运算 ArrayList 的遍历: for (int i = 0; i < a.size(); i++) a.get(i);
Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) iterator.next()
for (int num : a) num;
|
2.pair 和 Pair(Java 需要 import javafx.util.Pair ,目前 acwing 不支持)
1 2 3 4
| pair<int, int> p = make_pair(1, 2); - Pair<Integer, Integer> p = new Pair<>(1, 2); first - getKey() second - getValue() 支持比较运算 - 不支持比较运算
|
3.string 和 String
1 2 3 4 5 6 7
| string a = "yxc"; - String b = "hqh"; size()/length() - length() empty() clear() substr(起始下标,(子串长度)) - substring(起始下标,(终止下标 + 1)) c_str() 支持加法运算 - 支持加法运算
|
4.queue, stack, deque 和 Deque (有两个实现类,一般使用 ArrayDeque)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| queue, 队列 size() - size() empty() - isEmpty() push() - offer() front() - peek() back() pop() - poll()
stack, 栈 size() - size() empty() - isEmpty() push() - push() top() - peek() pop() - pop()
deque, 双端队列 size() - size() empty() - isEmpty() clear() - clear() front()/back() - getFirst()/getLast() push_back()/pop_back() - offerLast()/pollLast() push_front()/pop_front() - offerFirst()/pollFirst() begin()/end() - iterator() []
|
5.priority_queue 和 PriorityQueue
1 2 3 4 5 6 7
| 默认是大根堆 - 默认是小根堆 push() - offer() top() - peek() pop() - poll()
PriorityQueue 定义成大根堆的方式: PriorityQueue<Integer> pq = new PriorityQueue<>((o1, o2) -> o2 - o1);
|
6.unordered_set 和 HashSet
1 2 3 4 5 6
| size() - size() empty() - isEmpty() clear() - clear() insert() - add find() - contains() erase() - remove()
|
7.unordered_map 和 HashMap
1 2 3 4 5 6 7 8 9 10 11 12
| size() - size() empty() - isEmpty() clear() - clear() insert() - put() find() - get(key) erase() - remove() - containsKey(key)/containsValue(value) - entrySet() - keySet() - values() - getOrDefault(key, default value) - putIfAbsent(key, value)
|
作者:我要番茄锅
链接:https://www.acwing.com/blog/content/2180/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。