自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【c++、stl】stack和queue的模拟实现(附带源码和注释)

本篇对stl库中stack和queue进行模拟实现,我们当前实现的目的并不是创造比库中更好的容器,而是旨在加深我们对库的理解,加强我们代码实现能力,以及锻炼我们的代码编写能力。stack模拟本文对c++、stl库中stack和queue进行简单分析及代码的简单模拟实现,旨在加深理解。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。stack模拟queue模拟。

2024-02-06 22:29:23 1051 1

原创 【数据结构】第五站:队列(附源码)

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头对队列基本知识摘录以及其C语言代码的实现。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。

2024-02-06 22:09:40 415 1

原创 【算法百题】专题一_双指针

本文开始我将记录我对基础基础算法预计十八个专题、百道例题的学习历程和心得。双指针题目。本文完全是作者对个人算法经验的记录和累计,顺便进行知识分享,有任何错误请评论指点:)。

2024-01-19 18:39:06 911 1

原创 【数据结构】第十站:交换排序(附代码和注释)

本文介绍交换排序,包括冒泡排序和快速排序。完成了交换排序分析思路和实现,包括冒泡排序和快速排序,同时还分析了快速排序数组有序时的过度递归情况。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。

2023-11-29 23:43:32 204 1

原创 【数据结构】第九站:选择排序(附代码和注释)

本文开始介绍选择排序本文对选择排序进行详细的分析和代码注释。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。

2023-11-28 11:39:40 105

原创 【数据结构】第八站:排序概念与插入排序(附代码和注释)

开始介绍排序,如下图是我们常见的排序算法,本文介绍插入排序部分。希尔排序是对直接插入排序的优化。当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。《数据结构(C语言版)》— 严蔚敏《数据结构-用面相对象方法与C++描述》— 殷人昆On1.25On1.25到O1.6∗n1.25O1.6∗n1.25来算。稳定性:不稳定。

2023-11-19 16:07:02 121 1

原创 【c++、stl】list的模拟实现(附带源码和注释)

本文对stl标准库中的list容器进行模拟实现,实现需要我们对初阶数据结构有所了解。如对不熟悉我们的基本模拟流程,可以先从我们的vector模拟实现开始:链接:vector的模拟实现(附带源码和注释)一、模拟前准备还是和vector实现时一样,我们先看stl库中的源码,了解基本实现模式。1.查看源码list是一个链表,先看它的节点结构体。本文对c++stl库中的双向带头循环链表list进行了模拟实现。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。一、模拟前准备。

2023-11-15 23:11:58 318

原创 【C++、stl】vector模拟实现(附带源码和注释)

本文章对我们stl标准库中的vector容器进行实现一、模拟前准备模拟模拟,我们先要知晓其模样是怎样的才能模拟,所以我们首先打开stl库的源码来大概了解一下vector的基本实现模式。1.源码使用方式我们使用源码时一行行的看可不行,不信去自己去试一试,大量的typedef会让你晕头转向,而且现阶段理解也不重要。。一、模拟前准备1.源码使用方式二、开始模拟1.模版参数定义。

2023-11-12 15:15:30 131

原创 【C++、stl】迭代器是什么?迭代器理解

本文章是“vector模拟实现”文章的衍生内容,主要讲解vector模拟实现时迭代器失效的原因和着重理解迭代器的功能原理,看完相信你会有收获。今天主要写了一些对迭代器的理解。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。

2023-11-10 11:32:24 114 1

原创 【初阶数据结构】第七站:二叉树(附完整代码和注释)

有树的入门和堆的实现前文的铺垫,我们已经了解了二叉树的基本结构,本章将完成对二叉树遍历、构造等的函数的讲解和实现。如对树的结构不够了解请跳转链接:树的入门和堆的实现一、二叉树函数一览// 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树// 二叉树销毁// 二叉树节点个数// 二叉树节点个数2(现代写法)// 二叉树叶子节点个数// 二叉树第k层节点个数// 二叉树查找值为x的节点// 二叉树前序遍历// 二叉树中序遍历// 二叉树后序遍历。

2023-11-09 23:56:16 265 1

原创 【数据结构】第四站:栈(附源码)

一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。可知,栈是对顺序表进行了一边封口不操作。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。这里有了顺序表的铺垫,实现应该会变得非常简单。本文章为作者的笔记和心得记录,顺便进行知识分享,有任何错误请评论指点:)。

2023-09-23 22:22:51 337 1

原创 【数据结构】第六站:树的入门和堆的实现(附完整代码和注释)

树的入门阶段我们需要:认识树(理清树的结构)、认识树的相关概念、了解不同种类的树。然后我们试着实现一种树:堆。堆的本质是一个顺序表,而它在逻辑上被认为成一种特殊的树,所以这节将会让你深刻的认识到老婆饼里没有老婆,还是那句话,画图!一、树的入门1.树概念及结构树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成的。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。--------注意:树形结构中,子树之间不能有交集,否则就不是树形结构。

2023-04-24 19:19:08 651

原创 【数据结构】第三站:C语言--双向带头循环链表(附完整源码和注释)

今天实现双向带头循环链表,它的逻辑和单链表类似,不同的是它比单链表多了带头的哨兵位还多了一个指向前一个节点的指针(prev),这使它某些函数效率大增并且简单。

2023-04-20 17:24:29 606 1

原创 【数据结构】第二站:C语言--单链表(附完整源码和注释)

进入链表,链表根据单/双向,是否循环,是否有哨兵位可分成多种,我们只重点选择几个解析,触类旁通,这篇文章的单链表没有带哨兵位的单链表,实现会有很多困难,也正是因为这种结构有问题,所以很容易取得出题者的青睐,单链表实现函数的参数开始使用二级指针,亲自画图成为理解单链表断言、结构的最快方法。

2023-04-17 16:42:39 2009 1

原创 【数据结构】第一站:C语言--顺序表(附完整源码和注释)

顺序表是数据结构学习所接触的第一个数据存储结构,对顺序表的结构有清楚的了解,将对后面的学习大有帮助。(本文章默认读者c语言有一定了解)还需要注意的是:数据结构的学习,我们亲自画图(理解逻辑的过程)十分重要,如果顺序表不好好画图,相信链表的实现时会让你头疼一阵。

2023-04-14 23:38:26 4779 1

原创 我对C语言的一些理解与笔记(学习一周)

:①标识符:通常为有意义的英语单词,其本质是个让人一眼明了的名字。其中C语言规定的,被赋予特定含义的叫做保留字(if /for)。程序的最小单位是“单词”,通过基本“单词”组成主要语法单位,在通过语法单位的堆砌组成完整程序。计算机只会机械执行,需要达成所需,要对计算机的执行过程进行控制,有两种方式1.:通过语句的先后顺序和各自职能,实现分支或者循环等功能。③运算符/④分隔符:保留其原本性质,参与语法的组成。:通过上级函数对下级函数的调用实现。:都是由基层单词组成,各司其职。

2022-10-12 16:59:05 201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除