哈希表-列表-栈-队列
基础操作备忘
#include <unordered_map>
#include <iostream>
#include <algorithm>
#include <stack>
#include <queue>
int main(){
/* 初始化哈希表 */
unordered_map<int, string> map;
/* 添加操作 */
map[12836] = "小哈";
map[15937] = "小啰";
map[16750] = "小算";
map[13276] = "小法";
map[10583] = "小鸭";
/* 删除操作 */
map.erase(10583);
cout<<map[12836]/* 查询操作 */<<endl;
/*容器/列表*/
vector<int> nums = { 1, 3, 2, 5, 4 };
/* 清空列表 */
nums.clear();
/* 在尾部添加元素 */
nums.push_back(1);
nums.push_back(3);
nums.push_back(2);
nums.push_back(5);
nums.push_back(4);
/* 在中间插入元素 */
nums.insert(nums.begin() + 3, 6); // 在索引 3 处插入数字 6
/* 删除元素 */
nums.erase(nums.begin() + 3); // 删除索引 3 处的元素
/* 拼接两个列表 */
vector<int> nums1 = { 6, 8, 7, 10, 9 };
/*将列表 nums1 拼接到 nums 之后*/
nums.insert(nums.end(), nums1.begin(), nums1.end());
sort(nums.begin(), nums.end()); // 排序后,列表元素从小到大排列
int count = 0;
for (int num : nums) {
count += num;
cout<<num<<"\n";
}
/* 初始化栈 */
stack<int> stack;
/* 元素入栈 */
stack.push(1);
stack.push(3);
stack.push(2);
stack.push(5);
stack.push(4);
/* 判断是否为空 */
if (!stack.empty()){
int sizeTmp=stack.size();/* 获取栈的长度 */
for (int i = 0; i < sizeTmp; ++i) {
/* 访问栈顶元素 */
cout<<stack.top()<<"\n";
/* 元素出栈 */
stack.pop();// 无返回值
}
}
/* 初始化队列 */
queue<int> queue;
/* 元素入队 */
queue.push(1);
queue.push(3);
queue.push(2);
queue.push(5);
queue.push(4);
/* 判断是否为空 */
if (!queue.empty()){
int queueTmp=queue.size();/* 获取队列的长度 */
for (int i = 0; i < queueTmp; ++i) {
/* 访问队列顶元素 */
cout<<queue.front()<<"\n";
/* 元素出队 */
queue.pop();// 无返回值
}
}
/* 初始化双向队列 */
deque<int> deque;
/* 元素入队 */
deque.push_back(2); // 添加至队尾
deque.push_back(5);
deque.push_back(4);
deque.push_front(3); // 添加至队首
deque.push_front(1);
/* 判断双向队列是否为空 */
if(!deque.empty()){
/* 访问元素 */
cout<<deque.front()<<"\n"; // 队首元素出队
cout<<deque.back()<<"\n";// 队尾元素出队
/* 元素出队 */
deque.pop_front(); // 队首元素出队
deque.pop_back(); // 队尾元素出队
/* 获取双向队列的长度 */
cout<<deque.size()<<"\n";
}
}
Comments NOTHING