内蒙古企业网站建设,网页设计与制作教程 机械工业出版社,静安区网站建设,商城网站简介#xff1a; CSDN博客专家#xff0c;专注Android/Linux系统#xff0c;分享多mic语音方案、音视频、编解码等技术#xff0c;与大家一起成长#xff01; 优质专栏#xff1a;Audio工程师进阶系列【原创干货持续更新中……】#x1f680; 人生格言#xff1a; 人生… 简介 CSDN博客专家专注Android/Linux系统分享多mic语音方案、音视频、编解码等技术与大家一起成长 优质专栏Audio工程师进阶系列【原创干货持续更新中……】 人生格言 人生从来没有捷径只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注Android系统攻城狮 1.前言 本篇目的理解C之list成员函数应用。 2.list成员函数介绍
C中的std::list是一个双向链表的容器它提供了许多成员函数用于对链表进行操作。以下是一些常用的std::list成员函数的列表 构造函数 list()默认构造函数。list(const list other)拷贝构造函数。list(size_type count, const T value)构造函数创建包含count个值为value的元素的链表。 迭代器Iterator相关函数 begin()返回指向链表第一个元素的迭代器。end()返回指向链表尾后位置的迭代器。rbegin()返回指向链表最后一个元素的逆向迭代器。rend()返回指向链表首元素前位置的逆向迭代器。 容量相关函数 empty()检查链表是否为空。size()返回链表中元素的数量。max_size()返回链表所允许的最大元素数量。 元素访问与修改相关函数 front()返回链表的第一个元素的引用。back()返回链表的最后一个元素的引用。push_back(const T value)将元素加入链表尾部。push_front(const T value)将元素加入链表头部。pop_back()删除链表尾部的元素。pop_front()删除链表头部的元素。 修改容器相关函数 clear()清空链表中的所有元素。erase(iterator position)删除指定位置处的元素。erase(iterator first, iterator last)删除[first, last)范围内的元素。insert(iterator position, const T value)在指定位置之前插入元素。
3.应用实例
1. begin() 和 end() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 begin() 函数获取列表的第一个元素的迭代器std::listint::iterator iterStart myList.begin();// 使用 end() 函数获取列表的最后一个元素的迭代器std::listint::iterator iterEnd myList.end();// 遍历列表for (std::listint::iterator iter iterStart; iter ! iterEnd; iter) {std::cout *iter ;}return 0;
}2. rbegin() 和 rend() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 rbegin() 函数获取列表的最后一个元素的反向迭代器std::listint::reverse_iterator iterStart myList.rbegin();// 使用 rend() 函数获取列表的第一个元素的反向迭代器std::listint::reverse_iterator iterEnd myList.rend();// 遍历列表for (std::listint::reverse_iterator iter iterStart; iter ! iterEnd; iter) {std::cout *iter ;}return 0;
}3. empty() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 empty() 函数判断列表是否为空if (myList.empty()) {std::cout List is empty std::endl;} else {std::cout List is not empty std::endl;}return 0;
}4. size() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 size() 函数获取列表的元素个数std::cout Size of list: myList.size() std::endl;return 0;
}5. max_size() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 max_size() 函数获取列表的最大容量std::cout Max size of list: myList.max_size() std::endl;return 0;
}6. front() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 front() 函数获取列表的第一个元素int firstElement myList.front();std::cout First element of list: firstElement std::endl;return 0;
}7. back() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 back() 函数获取列表的最后一个元素int lastElement myList.back();std::cout Last element of list: lastElement std::endl;return 0;
}8. push_back() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 push_back() 函数在列表末尾插入元素myList.push_back(6);// 输出列表中的元素for (int num : myList) {std::cout num ;}return 0;
}9. push_front() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 push_front() 函数在列表开头插入元素myList.push_front(0);// 输出列表中的元素for (int num : myList) {std::cout num ;}return 0;
}10. pop_back() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 pop_back() 函数删除列表末尾的元素myList.pop_back();// 输出列表中的元素for (int num : myList) {std::cout num ;}return 0;
}11. pop_front() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 pop_front() 函数删除列表开头的元素myList.pop_front();// 输出列表中的元素for (int num : myList) {std::cout num ;}return 0;
}12. clear() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 clear() 函数清空列表myList.clear();// 输出列表中的元素为空for (int num : myList) {std::cout num ;}return 0;
}13. erase() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 erase() 函数删除列表中的指定元素std::listint::iterator iter myList.erase(myList.begin()); // 删除第一个元素// 输出列表中的元素for (int num : myList) {std::cout num ;}return 0;
}14. insert() 函数
#include iostream
#include listint main() {std::listint myList {1, 2, 3, 4, 5};// 使用 insert() 函数在指定位置插入元素std::listint::iterator iter myList.insert(myList.begin(), 0); // 在第一个元素前插入0// 输出列表中的元素for (int num : myList) {std::cout num ;}return 0;
}