C++学习之STL vector

Vector是什么?

问chatgpt看看是什么回答?

ChatGPT:

C++中的vector是标准库(STL)提供的一种动态数组容器。它能够在运行时根据需要自动调整大小,并且可以存储不同类型的元素。

使用vector,您可以方便地添加、删除和访问元素,而无需手动处理内存管理。vector提供了一系列成员函数和操作符,使您可以执行常见的操作,如向尾部添加元素、在指定位置插入元素、访问元素等。

要使用vector,首先需要包含头文件 <vector>,然后可以声明一个vector对象并初始化它,例如:

#include <vector>

int main() {
    // 声明一个存储整数的vector
    std::vector<int> myVector;

    // 向vector中添加元素
    myVector.push_back(10);
    myVector.push_back(20);
    myVector.push_back(30);

    // 访问vector中的元素
    int firstElement = myVector[0];
    int secondElement = myVector[1];

    // 输出vector中的元素
    for (int i = 0; i < myVector.size(); ++i) {
        std::cout << myVector[i] << " ";
    }

    return 0;
}

在上面的例子中,我们创建了一个用于存储整数的vector对象 myVector,并通过push_back函数依次添加了三个整数。

然后,我们使用索引操作符 [] 访问vector中的元素,并使用循环输出了所有元素。

vector提供了许多其他有用的成员函数,如size()用于获取元素数量,insert()用于在指定位置插入元素,erase()用于删除指定位置或范围内的元素等。您可以在C++标准库文档中查找更多关于vector的信息和用法。

卧槽真实入门人士的福音。

学以致用leedcode每日一题

338. 比特位计数

给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

示例 1:

输入:n = 2
输出:[0,1,1]
解释:
0 --> 0
1 --> 1
2 --> 10

示例 2:

输入:n = 5
输出:[0,1,1,2,1,2]
解释:
0 --> 0
1 --> 1
2 --> 10
3 --> 11
4 --> 100
5 --> 101
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
	vector<int> countBits(int n) {
		int i = 1;
		vector<int> ans(n + 1);
		for (int i = 0; i <= n; i++) {
			if (i % 2 == 0)
				ans[i] = ans[i / 2];
			else
				ans[i] = ans[i / 2] + 1;
		}
		return ans;

	}
};

int main()
{

	Solution slt;
	vector<int> anss;
	int i;
	cin >> i;
	anss = slt.countBits(i);
	// 使用迭代器 iterator 访问值
	vector<int>::iterator v = anss.begin();
	while (v != anss.end()) {
		cout << "value of v = " << *v << endl;
		v++;
	}



}

猜你喜欢

转载自blog.csdn.net/m0_59054762/article/details/131272439