![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 81
Ruiren.
双非本科大一在读,小比特,大梦想
展开
-
刷题训练营之哈希表(一)
虽然很多题目使用C++中的unorder_map来解题,但是本篇主要采用C语言来解题题目在力扣的242. 有效的字母异位词题目在力扣两个数组的交集题目在力扣快乐数。原创 2023-04-08 22:46:12 · 129 阅读 · 11 评论 -
二叉树刷题专练(三)
继承前面的写作思路,此篇文章继续二叉树的oj题题目在力扣二叉树的最小深度题目在力扣完全二叉树的节点个数。原创 2023-04-07 15:16:39 · 379 阅读 · 12 评论 -
二叉树刷题专练(二)
延续上篇,本篇依旧是二叉树的基础oj题原创 2023-04-01 22:41:17 · 146 阅读 · 10 评论 -
二叉树刷题专练(一)
继承以往刷题训练营的风格,文章会采用循序渐进的过程,本篇是二叉树的刷题训练营,所以不会讲解二叉树的基本知识,如果对于二叉树的基础知识不了解的同学需要自行了解二叉树的基础知识(例如前序,中序,后序等)原创 2023-03-31 22:45:44 · 568 阅读 · 17 评论 -
刷题训练营之栈与队列
本题是在栈与队列的基础上,为巩固两者而出的题,所以基本是在实现了栈与队列的基础上做的,如果没有栈与队列的基础,请看我之前的文章原创 2023-03-25 18:00:00 · 665 阅读 · 44 评论 -
刷题专练之链表(一)
以下是链表经常考的面试题,我在这里进行归纳和讲解,采取的是循序渐进的方式y一一讲解当然,需要有链表基础,没有的话先看我前面的链表讲解题目在力扣得的203. 移除链表元素题目在206. 反转链表题目在力扣的876. 链表的中间结点题目在牛客链表中倒数第k个结点。原创 2023-03-14 19:54:03 · 1448 阅读 · 20 评论 -
数组之双指针题
给定一个长度为 n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数 n。第二行包含 n个整数(均在 0∼105范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤105来源于力扣的209. 长度最小的子数组。原创 2023-03-04 16:54:24 · 669 阅读 · 16 评论 -
刷题专练之数组移除元素
我每个刷题篇的题目顺序都是特别安排的,目的是循序渐进,以到彻底掌握此类方法,主要分享算法,对于暴力求解的解法不会写,本文章即用的是双指针原创 2023-02-24 19:40:14 · 1053 阅读 · 45 评论 -
刷题专练之翻转题练习
本篇文章篇幅较少,但只要将这两个题的思想掌握,翻转题基本就不会有什么问题了原创 2023-02-17 16:28:49 · 708 阅读 · 22 评论 -
带你手撕排序算法
把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。实际中我们玩扑克牌时,就用了插入排序的思想原创 2023-02-01 16:35:10 · 4527 阅读 · 108 评论 -
二叉树的概念与结构
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。原创 2023-01-27 10:51:49 · 881 阅读 · 22 评论 -
数据结构之栈与队列详解
栈和队列是一种特殊的线性结构,他与之前学的线性结构不同,栈和队列是拥有一种特殊规则的线性结构,虽然它是用数组或者链表实现,但是只有符合这种规则才能被称作栈或者队列原创 2023-01-20 18:52:37 · 1860 阅读 · 60 评论 -
线性结构之单链表详解
我们前面学习了顺序表的实现,那么今天我们来学习单链表,当然单链表也有许多种类,在这里我当然是讲不完的,在这里我只介绍单链表最常见的无头单向非循环链表原创 2023-01-17 21:17:11 · 1338 阅读 · 36 评论 -
文件操作详解
恐怕很多人学完了c语言甚至不知道文件操作,也确实,很多人觉得这部分的知识确实鸡肋(其实我也觉得鸡肋,嘻嘻),但是虽然用处不大但是我们应该知道,我这里介绍操作函数原创 2023-01-16 23:38:39 · 1740 阅读 · 17 评论 -
动态内存与动态内存函数详解
为什么我们需要了解动态内存和函数?我们初始化一个函数时,这个函数是程序为我们自动分配的//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间那么我们不想程序自动分配,我们需要自己分配呢?,这就需要了解动态内存和内存函数了原创 2023-01-15 16:46:28 · 821 阅读 · 64 评论 -
自定义类型之枚举与联合
自定义类型很多人可能只知道结构体,因为结构体相对来说确实用的比较多,而自定义类型除了结构体,还有枚举和联合,今天我就来介绍一下枚举与联合原创 2023-01-14 15:45:58 · 685 阅读 · 38 评论 -
结构体内存对齐与位段详解
学习了结构体,你会算结构体的占用字节数吗,许多人恐怕摇头,而算字节大小需要了解内存对齐这个知识点,当然除了内存对齐,位段也是1.位段的成员必须是 int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字,后面的数字是比特位光概念啥的可能不理解,还得上例子struct A //注意这些数字申请得1是位 {int _a : 2;int _b : 5;原创 2023-01-12 21:14:11 · 718 阅读 · 55 评论 -
数据结构基础之动态顺序表详解
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改原创 2023-01-11 15:06:17 · 431 阅读 · 13 评论 -
利用qsort的相关知识改进冒泡排序
本篇是通过qsort的学习,改进冒泡排序,如果有不懂qsort的可以去我前面的文章看看回调函数与用qsort排各种类型的数据。原创 2023-01-07 18:45:48 · 563 阅读 · 21 评论 -
回调函数与用qsort排各种类型的数据
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。原创 2023-01-06 17:41:41 · 405 阅读 · 18 评论 -
深度剖析数据在内存中的存储
数据类型有什么意义呢?为什么需要数据类型?原创 2023-01-03 21:26:14 · 432 阅读 · 25 评论