List双向链表容器
来源:互联网 发布:mac播放器下好后怎么 编辑:程序博客网 时间:2024/04/29 20:18
1、
List双向链表容器创建list对象
//创建空链表或者具有n个元素的链表#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){list<int> l;list<int> ll;return 0;}
list双向链表容器元素的插入与遍历
//使用push_back()在尾部插入新元素或push_front()在首部插入新元素 链//表都自动扩张;使用insert()在迭代器位置插入元素 链表自动扩张 此时迭代//器只能“++”“--” 不能+n -n 因为元素位置不是物理相连的#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(5); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; return 0;}
list双向链表容器元素的反向遍历
//使用reverse_iterator对链表进行反向遍历#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(5); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; list<int>::reverse_iterator rit; for(rit=l.rbegin(); rit!=l.rend(); rit++) { cout<<*rit<<" "; } cout<<endl; return 0;}
4、
list双向链表容器元素的删除
//使用remove()删除链表中的一个元素 值相同的元素都会被删除#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; l.remove(2); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; return 0;}
//使用pop_front()删除链表首元素,使用pop_back()删除尾元素#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; l.pop_back(); l.pop_front(); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; return 0;}
//使用erase()删除迭代器位置上的元素#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; it=l.begin(); it++; it++; l.erase(it); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; return 0;}
//使用clear()清空链表#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; l.clear(); cout<<l.size()<<endl; return 0;}
5、
list双向链表容器元素的查找
//使用find()查找 如找到返回该元素的迭代器位置 否则 返回end() #include “algorithm”#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; it=find(l.begin(),l.end(),2); if(it!=l.end()) cout<<*it<<endl; else cout<<"not find it!"<<endl; it=find(l.begin(),l.end(),10); if(it!=l.end()) cout<<*it<<endl; else cout<<"not find it!"<<endl; return 0;}
list双向链表容器元素的排序
//使用sort()对链表元素进行升序排列#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; l.sort(); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; return 0;}
list双向链表容器剔除连续重复的元素
//使用unique()方法剔除连续重复元素 只留下一个#include<iostream>#include<string.h>#include<stdio.h>#include<ctype.h>#include<algorithm>#include<stack>#include<queue>#include<set>#include<math.h>#include<vector>#include<map>#include<deque>#include<list>using namespace std;int main(){ list<int> l; l.push_back(2); l.push_back(2); l.push_back(1); l.push_back(2); l.push_front(8); list<int>::iterator it; it=l.begin(); it++; l.insert(it,20); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; l.unique(); for(it=l.begin(); it!=l.end(); it++) { cout<<*it<<" "; } cout<<endl; return 0;}
- List双向链表容器
- List双向链表容器
- list双向链表容器
- list双向链表容器
- List双向链表容器
- List 双向链表容器基础应用
- List容器(双向链表)
- 【c++】双向链表容器list
- STL list双向链表容器
- C++ STL 容器技术 之 list双向链表容器
- C++ STL 容器技术 之 list双向链表容器
- C++ STL 容器技术 之 list双向链表容器
- C++ STL 容器技术 之 list双向链表容器
- 【STL】容器 > 顺序容器 > list(双向链表)
- C_线性表----list双向链表容器
- C++ STL学习笔记四 list双向链表容器
- 双向链表容器list的头尾中,全部删除
- STL之list双向链表容器入门
- JAVA基础
- 拨号数据流程
- 在Ubuntu上安装hadoop(截图太多,干脆来个大截图)
- Hook API 2
- platform_device和platform_driver 流程简介
- List双向链表容器
- Java Math类的简介
- Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解
- Pro Android学习笔记(十五):用户界面和控制(3):Button控件
- GSL数值积分例子
- quantum-l3无法启动 setting network faild invalid argument.
- 使用 HTML5 和 CSS3 创建现代 Web 站点
- DLL 导出类
- window 便笺的快捷键