做题常用操作

数组

vector

初始化

std::vector<int> vec3(5, 10);//5个10
std::vector<int> vec4 = {1, 2, 3, 4, 5};

末尾添加元素

 vec.push_back(1);

使用迭代器访问

    for (const auto& elem : vec) {
        std::cout << elem << " ";
    }

创建多维数组

// 创建一个3x4的二维数组,所有元素初始化为0
    std::vector<std::vector<int>> vec(3, std::vector<int>(4, 0));

unordered_map和set

初始化

std::unordered_map<int, std::string> umap;

插入元素

umap[1] = "one"; // 使用运算符[]插入元素
umap.insert({2, "two"}); // 使用insert方法插入元素
//set直接插入key

查找元素

if (umap.find(1) != umap.end()) {
    // 找到了键为1的元素
    std::string value = umap[1];
}

遍历元素

for (const auto& pair : umap) {
    std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}

string

std::string str1; // 默认构造函数,创建一个空字符串
std::string str2("Hello, World!"); // 使用C风格字符串进行初始化
std::string str3(str2); // 拷贝构造函数
std::string str4(10, 'a'); // 初始化为10个字符 'a'
std::string str1 = "Hello";
std::string str2 = "World";
std::string result = str1 + ", " + str2 + "!"; // 拼接字符串
str1 += " World!"; // 也可以使用 += 操作符

stack

#include <iostream>
#include <stack>

int main() {
    std::stack<int> myStack;

    // Push elements onto the stack
    myStack.push(10);
    myStack.push(20);
    myStack.push(30);

    // Access the top element
    std::cout << "Top element: " << myStack.top() << std::endl;

    // Pop the top element
    myStack.pop();

    // Check if the stack is empty
    if (myStack.empty()) {
        std::cout << "Stack is empty" << std::endl;
    } else {
        std::cout << "Stack size: " << myStack.size() << std::endl;
    }

    return 0;
}

queue

#include <iostream>
#include <queue>

int main() {
    std::queue<int> myQueue;

    // Push elements into the queue
    myQueue.push(10);
    myQueue.push(20);
    myQueue.push(30);

    // Access the front element
    std::cout << "Front element: " << myQueue.front() << std::endl;

    // Access the back element
    std::cout << "Back element: " << myQueue.back() << std::endl;

    // Pop the front element
    myQueue.pop();

    // Check if the queue is empty
    if (myQueue.empty()) {
        std::cout << "Queue is empty" << std::endl;
    } else {
        std::cout << "Queue size: " << myQueue.size() << std::endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值