- 博客(34)
- 收藏
- 关注
原创 让你迅速了解并掌握二叉树的秘籍
二叉树谈到二叉树的时候,大家会觉得,二叉树好难啊,掌握不了,其实是因为大家没有理解二叉树的精髓,下面让我带你们走一遍。二叉树是建立在树的基础上的,因此我将介绍一下树中的一些名词,不然后面会看着很懵逼的。重点需要掌握的名词:节点的度:一个节点含有的子树的个数称为该节点的度双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;兄弟节点:具有相同父节点的节点互称为兄弟节点;树的高度或深度:树中节点的最大层次如图所
2022-05-27 16:28:53
215
原创 栈与队列(从入门到上瘾)
栈与队列1.栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶.在物理结构中:push的过程如图所示:pop的过程如图所示:1.2栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾
2022-05-25 21:14:06
71
1
原创 数据结构之顺序表、链表(C语言实现)
1、顺序表2.1概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:1. 静态顺序表:使用定长数组存储。2. 动态顺序表:使用动态开辟的数组存储。在C语言中,我们将用结构体来实现我们的顺序表。现在让我们来一一实现吧!顺序表的静态存储#define N 100 为了方便以后修改顺序表的长度,我们将顺序表的长度作为宏定义.typedef int SLDataType; 因为顺序表存储的类型是不确定的,因此
2022-05-19 17:24:53
1719
原创 可执行程序的诞生
关于可执行程序如何实现大家可能不知道可执行程序是什么,但是大家肯定对exe文件有所了解。其实exe文件就是我们所说的可执行文件。从C语言源程序到可执行程序,大概有这么几个步骤:源文件→编译器→目标文件→链接器。下面我将详细介绍一下如何生成可执行文件.1. 组成一个程序的每个源文件通过编译过程分别转换成目标代码(object code)。2. 每个目标文件由链接器(linker)捆绑在一起,形成一个单一而完整的可执行程序。3. 链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可
2022-04-15 15:57:18
173
原创 预处理和宏
1.预定义详解:1.1 预定义符号__ FILE__ //进行编译的源文件__ LINE__ //文件当前的行号__ DATE__ //文件被编译的日期__ TIME__ //文件被编译的时间__ STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义举个栗子吧int main(){ printf("file:%s line:%d\n", __FILE__, __LINE__); return 0;}file:D:\C语言\比特学习\test_4_14\tes
2022-04-15 11:05:29
249
原创 关于结构体的那点事
一、为什么要计算结构体的大小?在计算结构体大小之前,我们得先了解一下什么是结构体内存对齐。结构体内存对齐就是指结构体变量在内存中,所占空间对齐。那么为什么会有结构体对齐?这其实是计算机在时间和空间上的一个权衡,对齐的形式更加有利于计算机进行快速的处理,在可接受的空间浪费的前提下,对齐使计算机处理需要的的时间尽可能的少。 而我们在设计结构体的时候也一定要考虑结构体的对齐,因为不当的顺序会消耗大量的额外内存。二、结构体对齐的准则第一个成员在与结构体变量偏移量为0的地址处。其他成员变量要对齐到某个
2022-04-14 19:50:52
62
原创 关于动态内存开辟的那些事
1.为什么存在动态内存?我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。2.动态内存函数的介绍 2.1 malloc和f
2022-04-14 14:51:06
138
原创 字符串函数与模拟实现
1.函数介绍2.库函数的模拟实现前言C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中。字符串常量 适用于那些对它不做修改的字符串函数.提示:以下是本篇文章正文内容,下面案例可供参考一、字符串函数有哪些?1.1 strlen函数那么我们应该如何使用呢? size_t strlen ( const char * str ); 注意:1.字符串已经 ‘\0’ 作为结束标志2.strlen.
2022-03-28 10:50:44
267
原创 三子棋(简单版)
1.如何构思三子棋?写三子棋,程序主要包括游戏菜单、三子棋的棋盘(比较麻烦的)、玩家下棋和电脑自动下棋四部分构成。2.游戏菜单游戏菜单比较简单,只需要几行printf的代码即可。这里我选择输入1就是玩游戏,输入0就是退出游戏。void menu(){ printf("****************************\n"); printf("******* 1.Play *******\n"); printf("******* 0.Exit ****
2022-01-24 11:20:49
3015
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人