首页 > 其他分享 >list

list

时间:2024-03-03 16:47:32浏览次数:20  
标签:元素 list back 链表 插入 移除

list的定义与结构

  • 双向链表容器
  • 节点(node)储存元素
  • 指针链接
    list<int> mylist
  • 特点
  1. 双向性,含有两个指针
  2. 能随意插入删除,直接改变指针指向就好
  3. 不能任意访问元素,必须便利
  4. 动态大小
  5. 可以不连续

list的常用函数

  • push_back():将元素插入到链表的末尾
  • push_front():将元素插入到链表的开头
  • pop_back():移除链表末尾的元素
  • pop_back():移除链表开头的元素
  • size():返回链表中元素的个数
  • empty():检查链表是否为空
  • clear():清空链表中的所有元素
  • front():返回链表中第一个元素的引用
  • back():返回链表中最后一个元素的引用
  • begin():返回链表中第一个元素的迭代器
  • end():返回链表末尾的下一个位置的迭代器
  • insert():在指定位置之前插入一个或者多个元素
  • erase():从链表中移除指定位置的一个或者多个元素

代码示例

#include<bits/stdc++.h>
using namespace std;
int main()
{
    //建立一个list
    list<int> mylist;
    //在list的结尾加上值
    for(int i = 1;i <= 5; ++i)
    {
        mylist.push_back(i);
    }
    for(const auto &i : mylist)cout<< i << ' ';
    cout << '\n';
    //反转list
    reverse(mylist.begin(),mylist.end());
    for(const auto &i : mylist)cout << i <<' ';
    cout << '\n';
    //++ mylist.begin()即从下标0开始向后加1
    mylist.insert(++ mylist.begin(),0);
    for(const auto &i : mylist)cout << i <<' ';
    cout << '\n';
    //两个++ ++ 就代表着向后加2,--就代表着下标减1
    mylist.erase(++ ++ mylist.begin(), -- mylist.end());
    cout << "链表大小为:" << mylist.size() << '\n';//.size()即测量链表的长度
    for(const auto &i : mylist)cout << i <<' ';
    cout << '\n';
    return 0;

}

标签:元素,list,back,链表,插入,移除
From: https://www.cnblogs.com/777CC/p/18050019

相关文章

  • C#的 ArrayList集合 和 List 集合
    //集合&字典的初识//集合的使用//集合与数组比较类似,都用于存放一组值//数组的优劣势分析//1.优势:数组在内存中是连续存储的,所以他的索引速度非常的快,而且赋值与修改元素也很简单//2.劣势:在数组的连个数据之间插入数据很麻烦在声明数组的时候,必须同时指明数组的......
  • QListWidget
    实现给QListWidget的列表项中,文字右侧加图片QListWidgetItem*item=newQListWidgetItem();声明一个QWidget,为其添加水平布局,布局中有文字,有图片:QWidget*itemWidget=newQWidget;QHBoxLayout*layout=newQHBoxLayout(itemWidget);QLabel*label=newQLabel(strfil......
  • Lambda实现条件去重distinct List
    原文链接:https://blog.csdn.net/qq_39940205/article/details/114269686  _______________________________________________________________________________________________________________我们知道,Java8lambda自带的去重为distinct方法,但是只能过滤整体对象,不......
  • redis自学(9)List
    ListRedis的List类型可以从首、尾操作列表中的元素:  哪一个数据结构能满足上述特征? LinkedList:普通链表,可以从双端访问,内存占用较高,内存碎片较多 ZipList:压缩列表,可以从双端访问,内存占用低,存储上限低 QuickList:LinkedList+ZipList,可以从双端访问,内存占用较低,......
  • Get a Record and List of Entities in PowerAutomate for D365
    WecontinuewiththeseriesofarticlesaboutPowerAutomateandthedifferentoperationsthatcanbeperformedonMicrosoftDynamics365FinanceandOperationsapps.Aswesawinthepreviousarticle,thankstotheMSDyn365FOpremiumconnectorforPower......
  • C# List.Sort()
    List.Sort():对List所有元素按条件进行排序。1usingSystem.Collections;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingUnityEngine;56publicclassTest:MonoBehaviour7{8///<summary>9///所有学生10///</summa......
  • C# List.Where()
     List.Where():找出List中满足某个或者某些条件的所有元素。1usingSystem.Collections;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingUnityEngine;56publicclassTest:MonoBehaviour7{8///<summary>9///所有学生10......
  • C#的List分批数据处理
    1.直接贴代码块List的扩展publicstaticclassListExtension{///<summary>///分页数据///</summary>///<typeparamname="T"></typeparam>///<paramname="source">数据源</param>///......
  • C# List.Select()
    List.Select():一般List中的元素是对象的时候,可以通过Selec()获取列表中对象的属性值列表。1usingSystem.Collections;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingUnityEngine;56publicclassTest:MonoBehaviour7{8/......
  • Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model>
    前言:在本篇Taurus.MVCWebMVC入门开发教程的第四篇文章中,我们将学习如何实现数据列表的绑定,通过使用List<Model>来展示多个数据项。我们将继续使用Taurus.Mvc命名空间,同时探讨如何在视图中绑定并显示一个Model列表。步骤1:创建Model首先,我们需要更新我们的Model类,......