c++list的size()
时间: 2024-06-15 10:05:10 浏览: 2
C++中的`std::list`是一个双向链表容器,`size()`函数用于返回该链表中元素的数量。它的时间复杂度是O(1),因为`std::list`内部会维护一个计数器来记录元素的数量。
注意,`std::list`是一个动态大小的容器,它可以根据需要自动调整大小,因此`size()`函数的返回值会随着元素的增加或删除而变化。
相关问题
C++ list
在 C++ 中,list 是双向链表容器,可以用来存储和操作相同类型的数据。list 支持在任意位置插入/删除元素,但是不支持随机访问元素。
以下是 list 的一些常用操作:
1. push_front():在链表头部插入元素。
2. push_back():在链表尾部插入元素。
3. pop_front():删除链表头部元素。
4. pop_back():删除链表尾部元素。
5. insert():在指定位置插入元素。
6. erase():删除指定位置的元素。
7. clear():清空整个链表。
8. size():返回链表中元素的个数。
9. empty():判断链表是否为空。
以下是 list 的一个简单示例:
```c++
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> mylist;
// 在链表尾部插入元素
mylist.push_back(1);
mylist.push_back(2);
mylist.push_back(3);
// 在链表头部插入元素
mylist.push_front(0);
// 遍历链表并输出元素
for (auto it = mylist.begin(); it != mylist.end(); ++it)
cout << *it << " ";
cout << endl;
// 删除链表头部元素
mylist.pop_front();
// 在指定位置插入元素
auto it = mylist.begin();
++it;
mylist.insert(it, 10);
// 删除指定位置的元素
it = mylist.begin();
++it;
mylist.erase(it);
// 遍历链表并输出元素
for (auto x : mylist)
cout << x << " ";
cout << endl;
// 清空整个链表
mylist.clear();
// 判断链表是否为空
if (mylist.empty())
cout << "The list is empty." << endl;
return 0;
}
```
输出结果:
```
0 1 2 3
0 2 3 10
The list is empty.
```
c++ list访问
C++中的list是一个双向链表,可以通过迭代器进行访问。以下是两种常见的访问方法:
1.使用迭代器遍历list
```c++
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> mylist = {1, 2, 3, 4, 5};
list<int>::iterator it;
for (it = mylist.begin(); it != mylist.end(); ++it) {
cout << *it << " ";
}
return 0;
}
```
2.使用下标访问list(需要先将list转换为数组)
```c++
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> mylist = {1, 2, 3, 4, 5};
int arr[mylist.size()];
copy(mylist.begin(), mylist.end(), arr);
for (int i = 0; i < mylist.size(); ++i) {
cout << arr[i] << " ";
}
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)