向量、队列、栈

1 向量

1.1 定义

	vector<typename> name	//typename:向量元素类型	name:向量名字

int main() {
    int myArray[] = {1, 2, 3, 4, 5};

    vector<int> myVector1;
    vector<int> myVector2(myArray, myArray + 5);
    vector<int> myVector3(5, 2);
    vector<int> myVector4(myVector2);
    vector<int> myVector5(myVector4.begin(), myVector4.begin() + 3);

    print(myVector1, 1);		//print函数为自定义输出函数
    print(myVector2, 2);
    print(myVector3, 3);
    print(myVector4, 4);
    print(myVector5, 5);

    return 0;
}

输出结果:

vector1: 
vector2: 1 2 3 4 5 
vector3: 2 2 2 2 2 
vector4: 1 2 3 4 5 
vector5: 1 2 3 

1.2 常用函数

	int myArray[] = {1, 2, 3, 4, 5};
    vector<int> myVector(myArray, myArray + 5);
    int n = myVector.size();
    myVector.pop_back();
    myVector.push_back(6);
    myVector.insert(myVector.begin() + 1, 9);
    myVector.insert(myVector.begin(), 3, 7);
    myVector.insert(myVector.begin(), myArray, myArray + 2);
    myVector.erase(myVector.begin() + 6);
    myVector.erase(myVector.begin() + 1, myVector.begin() + 3);
    myVector.clear();
	n = 5;
	1 2 3 4 
	1 2 3 4 6 
	1 9 2 3 4 6 
	7 7 7 1 9 2 3 4 6 
	1 2 7 7 7 1 9 2 3 4 6 
	1 2 7 7 7 1 2 3 4 6 
	1 7 7 1 2 3 4 6 
	

2 队列

2.1 定义

#include <queue>

	queue<tupename> name	

2.2 操作

int main() {
    queue<int> myQueue;
    for (int i = 0; i < 10; i++) {
        myQueue.push(i);                //入队
    }

    int sum = 0;
    while (!myQueue.empty()) {          //判空
        sum += myQueue.front();         //访问队首
        myQueue.pop();                  //出队
    }

    printf("%d\n", sum);				//结果为45
    return 0;
}

3 栈

3.1 定义

#include <stack>

	stack<typename> name;

3.2 操作

int main() {
    stack<int> myStack;
    cout << "入栈顺序:";
    for (int i = 0; i < 10; i++) {
        myStack.push(i);                //入栈
        cout << myStack.top() << ' ';
    }
    cout << endl << "出栈顺序:";
    int sum = 0;
    while (!myStack.empty()) {
        cout << myStack.top() << ' ';
        sum += myStack.top();
        myStack.pop();
    }

    cout << endl << sum << endl;
    return 0;
}

运行结果:

	入栈顺序:0 1 2 3 4 5 6 7 8 9 
	出栈顺序:9 8 7 6 5 4 3 2 1 0 
	45

set类

.end返回末尾迭代器,而不是最后一个元素,如果要访问最后一个元素需要使用 *–.end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值