链表 c++
2020-01-15 12:02
1636 查看
c++可以不用自己定义链表,可以引用头文件
创建一个装int的链表 list lst;
创建链表,并输出
list<int> lst; lst.push_back(124); lst.push_back(125); lst.push_back(126); list<int>::iterator a = lst.begin(); while (a != lst.end()) { cout << *a << " " ; a++; }
lst.end() 代表空.
便利链表可以用算法的头文件来便利。
#include
for_each(lst.begin(),lst.end(),&Show);
从什么地方,到什么地方,做什么操作
#include <iostream> #include <list> #include <algorithm> using namespace std; void Show(int a) { cout << a << " "; } int main() { list<int> lst; lst.push_back(124); lst.push_back(125); lst.push_back(126); lst.push_back(100); list<int>::iterator a = lst.begin(); while (a != lst.end()) { cout << *a << " " ; a++; } cout << endl; for_each(lst.begin(),lst.end(),&Show); cout << endl; lst.push_back(124); //插入尾结点 lst.push_front(122); //插入头结点 for_each(lst.begin(),lst.end(),&Show); cout << endl; lst.pop_back(); //删除 lst.pop_front(); for_each(lst.begin(),lst.end(),&Show); cout << endl; list<int>::iterator b = ::find(lst.begin(),lst.end(),125); //查找 lst.insert(b,100); //在b位置的前面插入一个100 for_each(lst.begin(),lst.end(),&Show); cout << endl; list<int>::iterator c = ::find(lst.begin(),lst.end(),100); //查找 lst.erase(c); //指定位置的删除 for_each(lst.begin(),lst.end(),&Show); cout << endl; if(lst.empty() == false) cout << "不为空" << endl; cout << lst.size() << endl; lst.clear(); if(lst.empty() == true) cout << "为空" << endl; cout << lst.size() << endl; return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【C++】双向链表的实现
- C++零碎:输入输出+Sleep挂起+utf-8字节数判断+静态成员变量+字符串结束符+链表+文件输入输出+改栈空间
- 不带头结点的链表头插法C++实现
- c++实现两有序链表合并成一个新链表
- [数据结构] C++ 定义单链表、添加节点、输出链表数据【头插法、尾插法】
- C/C++ | 26-17 已知一个单向链表的头,删除其某一个结点的算法
- 查看链表是否有环(数据结构C++表示)
- C++方式封装顺序表、单链表和双向链表
- Leetcode 83 删除排序链表中的重复元素 Python C++ 史上最详细题解系列
- test C++实现一个链表
- C++模板实现循环链表
- 单向链表常用操作,C和C++版本(转载)
- 链表的添加、查找删除、反向打印c++代码
- 基于链表的学生成绩管理系统——C++二进制文件读写string对象时出现的错误
- 数据结构与算法--链表C++实现
- 173. 链表插入排序 (insertion-sort-list)(c++)----lintcode面试题之链表
- 剑指offer(C++)——从尾到头打印链表
- c++实现链表的抽象数据结构
- 链表的顺序表示和实现(C++模板类实现)
- C++链表的创建与操作