C++学习-List学习

这篇具有很好参考价值的文章主要介绍了C++学习-List学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#include <Qlist>
#include <list>
#include <functional> //仿函数要的头文件
#include <string>

模板函数

template <class _Ty>

void PrintfList(QList<_Ty> data)
{
    qDebug() << "模板函数" << "\t";
    for (auto v : data)
    {
        qDebug() << v << "\t";
    }
    qDebug()  << "\n";
}

基本操作

QString tmepList[5] = {"3医院","1学校","9学位","0衣","2行"};
    QList<QString> strList;
    for (int i = 0; i < 5; i++) {
        strList.push_back(tmepList[i]);//尾插法
    }
    strList.push_front("10胶水"); //头插法


    for (int i = 0; i < strList.size(); i++) {
        qDebug() << strList[i] << "\n";
    }

    //模板打印
    PrintfList(strList);

    //迭代器打印
    qDebug() << "迭代器打印";
    for (QList<QString>::iterator iter = strList.begin(); iter != strList.end(); iter++) {
        qDebug() << *iter << "\n";
    }

    //排序
    strList.sort();
    PrintfList(strList);
    //
    qDebug() << "反转打印";
    strList.reserve(strList.size());
    PrintfList(strList);


    //边打印边删除的方式
    //从尾巴先打印再删除
//    while(!strList.empty()) {
//        qDebug() << strList.back() << "\t";
//        strList.pop_back();
//    }
//    qDebug() << "strList size:" <<strList.size()<<"\n";

    while(!strList.empty()) {
        qDebug() << strList.front() << "\t";
        strList.pop_front();
    }
    qDebug() << "strList size:" <<strList.size()<<"\n";


文章来源地址https://www.toymoban.com/news/detail-813105.html

到了这里,关于C++学习-List学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++ 学习 ⑬】- 详解 list 容器

    目录 一、list 容器的基本介绍 二、list 容器的成员函数 2.1 - 迭代器 2.2 - 修改操作 三、list 的模拟实现 3.1 - list.h 3.2 - 详解 list 容器的迭代器 3.2 - test.cpp   list 容器以类模板 listT(T 为存储元素的类型)的形式定义在 list 头文件中,并位于 std 命名空间中 。 list 是序列容器,允

    2024年02月12日
    浏览(42)
  • C++ List 到 Python List 的转换

    当我们编写 C++ 库的封装器通常涉及使用一种跨语言的接口技术,比如使用C接口或者使用特定的跨语言库,比如SWIG(Simplified Wrapper and Interface Generator)或者Pybind11。这里我将简要介绍如何使用Pybind11来封装一个C++库,以便在Python中使用。 1、问题背景 在编写 C++ 库的封装器时,

    2024年04月17日
    浏览(33)
  • 【C++】list基本接口+手撕 list(详解迭代器)

    父母就像迭代器,封装了他们的脆弱......  手撕list目录: 一、list的常用接口及其使用 1.1list 构造函数与增删查改 1.2list 特殊接口 1.3list 排序性能分析 二、list 迭代器实现(重点+难点) 关于迭代器的引入知识: 2.1迭代器的分类 2.2 list 迭代器失效问题(和vector有差异) 2.3

    2024年02月08日
    浏览(46)
  • C++初阶:适合新手的手撕list(模拟实现list)

    上次讲了常用的接口:今天就来进行模拟实现啦 list.h头文件:包含类的全部(函数的声明与定义) reverseIterator.h文件:进行反向迭代器的实现 test.cpp源文件:进行调用test函数,测试和完善功能 基本结构: ListNode 结构体: 定义了链表的节点结构,包含了三个成员变量:前驱指针

    2024年02月20日
    浏览(50)
  • 【C++】list的介绍及使用 | 模拟实现list(万字详解)

    目录 一、list的介绍及使用 什么是list? list的基本操作 增删查改 获取list元素 不常见操作的使用说明 ​编辑 接合splice ​编辑 移除remove 去重unique 二、模拟实现list 大框架 构造函数 尾插push_back 迭代器__list_iterator list的迭代器要如何跑起来 iterator的构造函数 begin()与end() opera

    2024年02月06日
    浏览(49)
  • 【C++】C++中的list

           官方给的  list 的文档介绍 简单来说就是:         list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个

    2024年04月17日
    浏览(32)
  • 【C++进阶(四)】STL大法--list深度剖析&list迭代器问题探讨

    💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C++从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C++   🔝🔝 本质重点: 本章重点讲解list的接口函数的熟悉 并且讲解list迭代器失效的特性 最后讲解迭代器的功能分类以及 算法库函数中谁能用谁不能

    2024年02月09日
    浏览(39)
  • 【C++】手搓 list 容器

    送给大家一句话: 若结局非你所愿,就在尘埃落定前奋力一搏。—— 《夏目友人帐》 List是C++标准模板库(STL)中的一个成员,其本质为带头双向循环链表。不同于连续的、紧密排列的数组容器Vector,List容器的内部是由双向链表构成的,使得它在插入和删除操作上,就如同行云

    2024年04月10日
    浏览(45)
  • 【C++】list模拟实现

    个人主页 : zxctscl 如有转载请先通知 在前面一篇博客中分享了list的相关介绍 【C++】list介绍,这次来模拟实现一下list。 成员变量: 无参构造: 插入: 在库里面定义节点需要全部公有时用到的就是struct: 这里我们也用相同方法自己定义出一个节点: 然后在写list类时候就要

    2024年04月11日
    浏览(38)
  • C++之链表list

    1.1 list的基本特性         C++的list是一种双链表,这意味着每个元素都有一个指向前一个和后一个元素的指针。相比于单链表,双链表在插入和删除操作中更为高效,因为它不需要遍历链表来找到插入或删除的位置。         list支持常见的序列操作,如添加元素(p

    2024年02月04日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包