logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【初阶数据结构与算法】栈和队列leetcode刷题之用栈实现队列,用队列实现栈

在本节的题目中都会用到数据结构栈和队列,由于我们目前没有介绍C++,以C语言的形式来做,所以我们需要把我们之前实现好的栈和队列复制进去再做,等以后我们讲到C++部分就可以使用STL,不用自己手动写栈和队列了。

文章图片
#数据结构#算法#leetcode +4
【初阶数据结构与算法】链表刷题之链表分割、相交链表、环形链表1、环形链表I、环形链表II

我们要注意到相交链表的特殊性,直线相交的话它们还会朝着不同的方向继续延伸,想象一下链表相交以后会怎么样,它们相交后一定只有一个方向,而不会像直线相交那样有多个方向,因为如果它们相交,那么相交节点的next指针指向同一个节点,如此循环下去自然就只有一个方向。所以我们还是用上之前学过的知识,怎么保证一个链表默认不为空?这里我们要注意的是,如果我们创建的两个链表初始为空会发生什么,我们每次插入节点时,都

文章图片
#链表#数据结构#算法 +4
【初阶数据结构与算法】线性表之链表的分类以及双链表的定义与实现

在上面的属性中,让它们进行组合一共就会有8种分类,比如带头单向循环链表,带头单向不循环链表,带头双向循环链表等等,这里就不一一列举了,我们主要来解释一下分类里面的每组名词是什么意思带头和不带头:带头和不带头不是我们之前说的头结点,之前我们的头结点是链表中存储数据的第一个节点,这里的带头是我们在创建链表时会申请一个头结点,这个头结点不存放数据,它只代表链表的头,无论我们进行删除还是增加都让它指向链表

文章图片
#链表#数据结构#算法 +4
【初阶数据结构与算法】新的旅程之时间复杂度和空间复杂度

数据结构(DataStructure)是计算机存储、组织数据的⽅式,指相互之间存在⼀种或多种特定关系的数据元素的集合没有⼀种单⼀的数据结构对所有⽤途都有⽤,都有各自的优缺点和应用领域,所以我们要学各式各样的数据结构,如:线性表、树、图、哈希等,然后就可以在不同场景下很好的使用和管理数据。

文章图片
#算法#数据结构#c++ +4
【C++】STL基础必备:深入解析vector容器的实现(含源码)

本文详细解析了C++ STL中vector的实现原理与核心接口。文章首先介绍了vector的底层结构,通过分析STL源码指出vector使用三个指针成员(_start、_finish、_endofstorage)来管理动态数组。随后依次实现了vector的容器相关接口(size、capacity、empty)、元素访问接口(operator[]、at、front、back)、迭代器接口以及修改接口

文章图片
#c++#开发语言#c语言 +2
【C++】编程必备:深入解析vector容器的使用

本文介绍了C++中vector容器的基本使用方法和常用接口。主要内容包括: vector简介:vector是一个类似于顺序表的类模板,属于STL库,比string更加灵活规范。 构造与析构: 默认构造不初始化底层数组 支持n个value构造和initializer_list初始化 拷贝构造和赋值重载采用深拷贝 元素访问接口: 支持[]运算符和at()访问元素 front()和back()分别获取首

文章图片
#c++#开发语言#面试 +3
【C++】编程必备:深入解析仿函数与std::sort

本文介绍了C++中仿函数的概念与应用。仿函数本质是重载了operator()的类,使其对象可以像函数一样调用。文章首先通过加法仿函数示例展示了两种使用方法:实例化对象调用和使用匿名对象调用。随后介绍了标准库中的常见仿函数greater和less,以及它们在sort排序算法中的应用。最后讨论了自定义类型排序场景,指出当处理复杂类型时需要手动实现仿函数,并以日期类为例说明了如何重载比较运算符来实现自定

文章图片
#c++#java#开发语言 +3
【C++】编程必备:深入解析stack和queue的使用和实现(附源码)

本文介绍了栈(stack)和队列(queue)的基本使用与实现。首先通过示例代码演示了stack和queue的常用接口操作,如push、pop、top等。然后讲解了容器适配器的概念,指出stack和queue是基于其他容器(如vector、deque)实现的特殊容器。重点详细讲解了stack的实现过程,包括使用vector作为底层容器,封装empty、size、push、pop等接口,并提供了完整

文章图片
#c++#开发语言#c语言 +2
【C++】编程必备:深入解析priority_queue的使用与实现

本文介绍了C++中priority_queue(优先级队列)的基本概念、使用方法和初步实现。priority_queue本质上是一个堆数据结构,默认实现为大堆(降序排列),通过传入greater仿函数可改为小堆(升序排列)。文章详细讲解了priority_queue的接口使用,包括push、pop、top等操作,并给出了堆排序的示例代码。在实现部分,作者逐步构建了priority_queue的基本

文章图片
#c++#开发语言#算法 +2
【C++】多态详解——虚函数、重写、原理、抽象类(超详细)

本文深入讲解C++多态的核心概念与实现原理,主要内容包括: 多态概念:同一操作在不同对象上产生不同结果,分为静态多态(编译时)和动态多态(运行时) 实现条件: 必须通过基类指针/引用调用虚函数 被调函数必须是虚函数且子类完成重写 关键机制: 虚函数(virtual修饰) 虚函数重写(函数签名完全相同) 虚表指针(_vfptr)和虚函数表 重要特性: 析构函数必须声明为虚函数以避免内存泄漏 over

文章图片
#c++#java#开发语言 +4
    共 21 条
  • 1
  • 2
  • 3
  • 请选择