自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下的基础开发工具vim/gcc/g++/gdb

文章目录前言vimgcc/g++初步了解gcc预处理编译汇编链接动态链接静态链接各自优缺点g++gcc/g++注意事项gdb前言学习Linux,少不了在Linux环境下做开发以及编写代码,就不得不得熟悉一下Linux下的这些基础开发工具了在windows下像vs系列都是集编辑器、编译器、调试器等为一体的IDE环境,而linux下编辑、编译调试代码都需要不同的工具,下面来具体了解一下linux环境的基础开发工具。vimvim是linux下多模式的编辑器,支持语法高亮、正则表达式、可视化操作

2022-03-05 22:08:25 11001 90

原创 Linux下vim各模式的操作你了解吗

vim是什么?如何高效使用vim?如何配置vim?

2022-02-23 19:45:11 4330 37

原创 彻底搞懂linux中的权限【详解】

详解linux中的权限

2022-02-11 17:07:51 8465 40

原创 Linux常用指令【详解】

本文将给大家详细的介绍一些Linux常用的指令、基础知识以及演示

2022-01-28 22:39:00 5137 38

原创 Linux进程地址空间

了解什么是LInux进程地址空间

2022-05-14 17:38:43 847 4

原创 十道二叉树面试题,对二叉树理解更进一步

学习二叉树有一个很重要的思想就是分治(将一个大问题划分为最小规模的子问题),常用方法之一就是递归,而递归是很抽象的,当对递归过程不理解时,建议多画图将递归过程实例化,拒绝人脑压栈...

2022-05-06 16:01:52 2822 41

原创 【搜索二叉树】迭代+递归实现&&K模型和KV模型

本篇文章将会介绍搜索二叉树的概念和模拟实现,以及它的应用Key模型和Key/value模型,简写为K模型和KV模型。

2022-05-02 11:59:35 1087 21

原创 数据结构八大排序,你掌握了哪几大

直接插入、希尔、选择、堆排、冒泡、快排、归并、计数八大排序详细解析+动图+代码实现

2022-04-28 17:40:31 2801 58

原创 【二叉树初阶】前中后序遍历+层序遍历+基础习题

图解二叉树前序、中序、后序、层序遍历详解,以及基础习题解析,

2022-04-19 18:50:48 5421 60

原创 C++继承,万字笔记简单易懂

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类(基类)特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。在继承之前一般都是函数的复用,而继承是类层次的复用。

2022-04-13 14:42:56 6495 46

原创 【C++】优先级队列priority_queue模拟实现&&仿函数

详细介绍priority_queue优先级队列的模拟实现,以及基础仿函数的介绍使用

2022-04-07 15:30:55 1317 38

原创 【C++】STL中stack和queue的模拟实现&&deque讲解

stack和queue的底层分析以及模拟实现,deque的讲解和他们的优缺点分析

2022-04-02 17:39:14 1956 56

原创 这些基础的C语言选择题,不知道你能不能拿下

这些基础的C语言选择题,快来看看能不能都拿下

2022-03-30 19:53:25 9790 102

原创 [数据结构]堆的经典——TopK问题与堆排序

详细讲解堆中经典的TopK问题与堆排序以及实现源码

2022-03-27 20:54:13 2557 72

原创 C++每日一练——排序子序列&&各种翻转字符串

文章目录排序子序列题目要求思路分析排序子序列题目要求牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2思路分析首先子序列是非递增或是非递减的:递增:1 2 3 4 5 6递减:6 5 4 3 2 1

2022-03-24 19:09:56 3247 45

原创 C++每日一练——组队竞赛&&两数相加

文章目录🍎组队竞赛🍉题目要求🍉思路分析🍉C++代码🍎删除公共字符串🍉题目要求🍉思路分析🍉C++代码🍑链表的两数相加🍑字符串相加🍎组队竞赛🍉题目要求每组有3个队员,在3*n个选手,n组队伍中找到每组队伍的水平值(队员中第二高的水平值),然后求出所有队伍水平值总和的最大值第一行输入:队伍的个数n第二行输入:3 * n个选手的水平值输出:水平值总和可能超过int所以设为long🍉思路分析要求水平值总和的最大值,只需要保证每支队伍的水平值最大,那么和就最大。如何使每支队伍的水平值最大呢?

2022-03-22 19:05:23 2129 66

原创 C++中vector的模拟实现&&迭代器失效问题

vector是一个可变大小的序列容器,可以理解为动态增长的顺序表,但vector可以存储任意类型的数据,不管是自定义类型还是内置类型。所以vector是一个类模板,vector在实际中也非常重要,用的也很频繁。下面我们来深入了解vector的常用接口以及模拟实现

2022-03-19 14:22:52 1898 58

原创 C语言的文件操作你也该会了

通过文件实现数据的持久化

2022-03-18 14:40:17 709 55

原创 【C++】STL中string类的模拟实现

C标准库中也提供了一系列的str库函数,但不符合oop思想(核心:封装、继承、多态),所以C++引入了string类,在OJ中很多有关字符串的题目都是以string类出现的,下面我们深入了解一下string以及模拟实现

2022-03-13 16:36:02 2192 61

原创 C语言每日一练——动态开辟的杨辉三角

文章目录问题引入解决方法思路分析C代码实现C++实现问题引入我们在C语言阶段,第一次碰到的杨辉三角应该都是用常规的二维数组存储,可以观察到,用绿色填充的空间都是没有被利用的。存储1行                          浪费0个存储2行                          浪费1个存储3行                          浪费3个 存储4行                          浪费6个                

2022-03-09 16:21:21 4836 88

原创 源文件如何一步步到可执行程序【程序员必修课】

引入想必大家编写的第一个程序都是hello world,到后来编写越来越多的程序,我们都知道编译链接,那我们是否了解一个源文件是如何编译为.exe的可执行程序的呢?下面我们就来深入了解一下在C/C++中,一个程序要运行起来,要经历四个阶段:预处理、编译、汇编、链接,最后形成可执行程序由于windows下的vs系列是集编辑器、编译器、调试器等为一体的IDE环境,所以我们在Linux下演示预处理这里在test.c文件中编写了一个简单的测试代码选项-E :让 gcc 在预处理结束后停止编译过程

2022-03-04 11:25:17 9400 39

原创 C++泛型编程——模板初阶

C++泛型编程,了解模板的使用与原理

2022-03-01 19:57:20 1245 41

原创 c++动态内存管理new/delete

前言想必大家对c语言的动态内存分配并不陌生,忘了的小伙伴也可以看看我的这篇文章C语言动态内存分配c语言的动态内存分配由于有些地方用起来麻烦,因此c++引入new/delete操作符进行内存管理,下面我们来深入探讨c++为什么要引入new/delete......

2022-02-21 21:27:49 1786 29

原创 【数据结构】堆的讲解与实现

文章目录堆的结构分析堆的实现堆的存储结构堆初始化堆的插入push向上调整堆判空堆删除pop向下调整堆销毁运行结果时间复杂度分析源代码堆的经典应用堆的结构分析需要注意的是堆是一种数据结构,与操作系统的堆区没有关系。堆的结构:堆是完全二叉树,从左到右是连续的,适合用数组存储堆是一颗完全二叉树,分为大堆和小堆大堆:一个树中,任何父亲节点都大于等于孩子节点,所以大堆的根节点最大小堆:一个树中,任何父亲节点都小于等于孩子节点,所以小堆的根节点最小堆的实现了解过顺序表的小伙伴,对堆的实现就非常简

2022-02-20 14:23:01 1082 20

原创 Linux环境搭建,创建用户和删除用户

通过简单的方式,快速搭建好Linux环境,以及如何新建用户和删除用户

2022-01-23 22:09:10 3729 31

原创 双指针解决数组问题

例题Leetcode链接,合并两个有序数组由于有m和n表示有效元素个数,所以题目给定的nums1Size和nums2Size没多大用处。已知nums1的空间刚好将nums1的有效元素个数m和nums2的有效元素个数n放入,要将nums2的数据放入nnums1中构成新的有序数组,由于两个数组是有序的,我们只需要通过两个指针分别比较大小,在通过另一个指针去改变数组nums1中的值,这实际就是多指针解决问题那我们要从前开始比较,还是从后开始比较呢?如果从前开始比较的话...

2022-01-22 21:34:44 1575 18

原创 C++——类和对象(上篇)

类和对象的初步了解

2022-01-16 20:02:10 940 29

原创 数据结构——链表一网打尽

介绍链表的所有种类,以及代码实现步骤,细节演示链表的基本操作,真正搞懂链表

2022-01-09 20:31:38 2076 55

原创 数据结构与算法——顺序表

本文详细介绍顺序表,内附代码讲解和图解,以及顺序表的源码

2022-01-04 23:15:09 1507 37

原创 extern “ C “,实现C与C++项目的相互调用

extern "C"实现不同编程语言之间的相互调用

2021-12-28 15:40:08 2399 57

原创 函数栈帧的创建和销毁(程序员必修课)

1.局部变量是如何创建的2.未初始化的局部变量为什么是随机值3.函数是如何传参的,传参顺序是怎样的4.形参和实参是什么关系5.函数是如何调用的

2021-12-16 14:54:50 2898 57

原创 循环输出不确定长度数据且末尾无空格

题目要求:输入两个正整数a、b,找出[a, b]之间的素数,由小到大输出。(2 <= a <= b <=1000000),输出[a,b]之间的素数,素数之间用一个空格隔开,每个输出占一行。相当于是输出不确定长度数据,素数中间以空格隔开,且末尾无空格。不知道大家第一次遇到这种题时,用的是什么方法。我想到的是:第一次输入不加空格,直接以%d的形式打印,且只以这种形式输出一次。之后的每一次都以空格+%d的形式打印,这样输出末尾就无空格了。...

2021-12-14 21:21:43 2309 20

原创 动态内存分配malloc, calloc, realloc函数解析

想要灵活的开辟空间吗?带你了解动态内存分配

2021-12-01 17:56:34 2620 25

空空如也

空空如也

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

TA关注的人

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