【STL】stack栈容器与list链表容器

目录

1.栈stack

2.list链表容器


1.栈stack

栈具有先进后出的特性,最先进入的数据压在最底下,最后出来

2.list链表容器

list链表容器是一种双向链表,两端都可插入与删除,是双向访问迭代器,与vertor随机访问迭代器有不同的区别

reverse()函数可以将元素反转过来

cpp 复制代码
#include<iostream>
#include<list>//头文件 
#include<algorithm> 
using namespace std;
void printlist(list<int> &s)
{
	list<int>::iterator it=s.begin();
	for( ;it!=s.end();it++)
	{
		cout<<*it<<" ";
	}
	cout<<endl;
}
int main()
{
	list<int> s;
	s.push_back(10);//尾插 
	s.push_back(20);
	s.push_back(30);
	s.push_front(40);//头插 
	s.push_front(50);
	s.push_front(60);
	printlist(s);
	
	list<int>::iterator it=s.begin();
	it++;
	it++;
	//双向迭代器不支持 +2  
	//s.insert(s.begin()+2,3,100); 错误写法
	s.insert(it,3,100);//插入 
	printlist(s); 
	
	//STL提供的算法只支持随机访问迭代器,而list是双向访问迭代器,标准算法不支持 
	//sort(s.begin(),s.end()); 错误写法
	
	s.sort(); //链表类模板提供了sort() 
	printlist(s);
	
	s.reverse();// 将元素反转 
	printlist(s);
	return 0;
 } 
相关推荐
zhangdaliangmvp20 小时前
快速排序的学习理解:从基础分治到三路划分优化
c++·学习·算法
cu14320 小时前
细谈IT6563的具体功能与其应用
c语言·c++·单片机·嵌入式硬件
布莱克60521 小时前
C++ 内存泄漏全解析:常见场景、成因与规避实践
开发语言·c++·内存泄露
jimy121 小时前
lvalue、xvalue、prvalue(一):三者的分类
开发语言·c++
HAPPY酷1 天前
C++ 内存泄漏排查:从裸 new 到 RAII 修复,附 ASan 实战
开发语言·c++
凯瑟琳.奥古斯特1 天前
力扣1015C++解法技巧
c++·算法·leetcode·链表·职场和发展
悠仁さん1 天前
【算法C++】双指针(一)
数据结构·c++·算法
jimy11 天前
lvalue、xvalue、prvalue(二):引用是哪一类?
开发语言·c++·1024程序员节
杜 硕1 天前
从零开始的C++生活——第三讲
开发语言·c++·生活
小成202303202651 天前
C++~05异常处理
开发语言·c++