📅  最后修改于: 2023-12-03 14:39:54.597000             🧑  作者: Mango
C++ 中的列表是一种非常有用的数据结构,其由一组节点组成,其中每个节点都包含数据和指向下一节点的指针。在 C++ 中,可以使用标准库中的 list 类来进行列表操作。
本文介绍了一些 list 类中非常有用的函数,以便程序员能够更好地理解和使用列表数据结构。
在使用 list 类之前,需要使用构造函数创建一个空列表。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
std::cout << "List size: " << myList.size() << std::endl;
return 0;
}
在上述示例中,我们创建了一个名为 myList 的空列表,并使用 size() 函数输出了列表的大小。
向列表中插入元素是列表操作中最常见的任务之一。list 类提供了几个函数,可以很方便地完成这个任务。
push_back() 函数用于在列表的末尾添加一个元素。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们使用 push_back() 函数添加了三个元素到列表中,并使用循环打印出了列表中的所有元素。
push_front() 函数用于在列表的开头添加一个元素。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_front(3);
myList.push_front(2);
myList.push_front(1);
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们使用 push_front() 函数添加了三个元素到列表的开头,并使用循环打印出了列表中的所有元素。
insert() 函数用于在列表中插入一个元素,可以插入到列表的任何位置。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(4);
myList.insert(myList.begin() + 2, 3);
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们首先向列表中添加了三个元素,然后使用 insert() 函数在第三个位置插入了一个值为 3 的元素,并使用循环打印出了列表中的所有元素。
从列表中删除元素也是列表操作中非常常见的任务之一。同样,list 类提供了几个函数,可以很方便地完成这个任务。
pop_back() 函数用于删除列表末尾的元素。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.pop_back();
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们首先向列表中添加了三个元素,然后使用 pop_back() 函数删除了列表的最后一个元素,并使用循环打印出了列表中的所有元素。
pop_front() 函数用于删除列表的第一个元素。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.pop_front();
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们首先向列表中添加了三个元素,然后使用 pop_front() 函数删除了列表的第一个元素,并使用循环打印出了列表中的所有元素。
erase() 函数用于从列表中删除指定元素。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.erase(myList.begin() + 1);
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们首先向列表中添加了三个元素,然后使用 erase() 函数删除了列表中的第二个元素,并使用循环打印出了列表中的所有元素。
同样,你可能需要在列表中更改元素。list 类提供了几个函数,可以很方便地完成这个任务。
assign() 函数用于将现有列表的值替换为新值。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.assign({4, 5, 6});
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们首先向列表中添加了三个元素,然后使用 assign() 函数将列表替换为一个包含三个新元素的列表,并使用循环打印出了列表中的所有元素。
insert() 函数还可以用于更改列表中的元素。
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.insert(myList.begin() + 1, 5);
for (auto i : myList) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例中,我们首先向列表中添加了三个元素,然后使用 insert() 函数将列表中的第二个元素更改为 5,并使用循环打印出了列表中的所有元素。
C++ 中的列表是一种非常有用的数据结构,其由一组节点组成,其中每个节点都包含数据和指向下一节点的指针。在 C++ 中,可以使用标准库中的 list 类来进行列表操作。
本文介绍了 list 类中一些非常有用的函数,包括构造函数、插入元素、删除元素和更改元素。这些函数可以帮助程序员更好地理解和使用列表数据结构。