自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模拟实现二叉树(C语言)

遍历如下图所示的二叉树。

2024-07-27 22:09:28 274

原创 二叉树及其概念

树是一种非线性的数据结构,它是由n个有限结点组成一个具有层次关系的集合。如图:树有一个特殊的结点,被称为根结点(上图R结点),根结点没有前驱结点。除了根结点外,每个子树的根结点有且仅有一个前驱,但可以有0个或多个后继结点,因此树是递归定义的。注:树形结构中,子树之间不能有任何交集,否则就不是树形结构。结点的度:一个结点含有子树的个数成为该节点的度。如:A的度为6,B的度为0叶结点:度为0的结点。如:B、C、H、I等分支结点:度不为0的结点。如A、D、E、F等父结点:若一个结点含有子结点,则这个结点称为其子结

2024-07-25 20:28:22 361

原创 C语言堆排列的实现

堆总是一颗完全二叉树;堆中某个节点的值总是不大于或不小于其父节点。

2024-07-18 20:39:23 233

原创 带头双向循环链表的增删查改

双向链表的增删查改

2024-05-16 20:24:27 104

原创 单链表的增删查改

头插尾插。

2024-04-19 10:52:26 117 2

原创 预处理详解

#define、定义宏和条件编译

2024-02-26 20:43:18 800 1

原创 编译和链接

翻译环境:在这个环境中,源代码被转换为可执行的机器指令。运行环境:又称为执行环境,它是用于实际执行代码的。

2024-02-24 12:43:47 777

原创 字符串函数和内存函数

字符串函数的头文件是string.h。

2024-02-18 12:43:54 873

原创 C语言中的文件操作

在计算机操作系统中,文件是指存储在硬盘等外存储器上的信息集合。在程序设计中,我们说的文件有两种:程序文件、数据文件。(这是从文件功能的角度来分类的)上面说的适用于所有输入流一般指适用于标准输入流和其他输入流(如文件输入流);所有输出流也是同理。根据上面我们可以得出fputc的功能是将一个字符写进流内。其中character是要写的字符,stream是流,返回值为int类型。如果返回失败,则返回EOF。fclose(pf);pf = NULL;

2024-02-03 13:37:41 886 1

原创 结构体的介绍

/变量的定义int x;int y;}p1;//声明类型的同时定义变量p1//初始化struct Stuint age;int main()//按照结构体成员的顺序进行初始化struct Stu s = { "张三",20,"男","20230815648" };//按照指定的顺序初始化struct Stu s2 = { .age = 18,.name = "李四",.id = "21015120",.sex = "男" };

2024-01-24 14:49:23 870 1

原创 数据在内存中的存储

整数在内存中以二进制的形式存在,主要以原码、反码和补码的形式存在。其中有符号整型的这三种表示方法均由符号位和数值位两部分组成,其中符号位是用0表示‘正’,用1表示‘负’,而数值位最高位的一位是被当做符号位,剩余的都是数值位。无符号整型中没有符号位,所有的0和1都是数值位。正整数的原码、反码和补码都是相同的,而负整数的原码、反码和补码都是不同的。

2024-01-22 20:16:00 915

原创 指针(4)

在指针中,有一种指针类型叫做字符指针:char*我们可以这样使用还有一种使用方法如下这里和数组一样,并不是把字符串hello world放入字符指针ph中,而是将字符串首字符的地址放进ph中,上述代码就是讲首字符h的地址放在指针变量ph中。代码的输出结果如图所示:上述代码中,str1、str2、str3和str4的内容是一样的,但为什么输出的结果却是上图所示呢?因为这里的str3和str4是一个常量字符串。

2023-12-03 20:17:12 667 1

原创 冒泡排序的代码及优化

我们设flag=1,意思就是假设这一趟是有序的不需要交换任何元素,那么代码就会跳过if(arr[j]>arr[j+1])语句,flag的值不会改变,那么flag==1就会进入if(flag == 1)这条语句,因此,会跳出这一趟循环,就会节省时间。我们要将其变成一个升序,因此先将10和9进行比较,由于10>9,因此要把10和9的位置互换,然后再比较10和8的大小,将10和8的位置互换,一直把10放到合适的位置,这一次循环就结束。而变量j表示某一趟中,需要交换的元素个数,再交换10时,交换了9个元素;

2023-11-30 17:13:26 553 1

原创 指针(3)

对于一位数组来说,数组名是数组首元素的地址。而对于二维数组来说,数组名是数组第一行的地址。但这种情况也不是绝对的,有两种例外:(1)sizeof(数组名):数组名单独存放在sizeof中,这里的数组名表示的是整个数组,计算的是整个数组的大小,单位是字节。(2)&数组名:这里的数组名表示的也是整个数组的大小,取出的是整个数组的地址(虽然打印出来与数组首元素的地址相同,但整个数组的地址与数组首元素的地址是有区别的)。除了这两种情况外,其他任何地方使用数组名,都代表数组首元素的地址。

2023-11-29 10:51:27 1390 1

原创 指针(2)

void*类型是一类特殊的指针类型,这一类型的指针可以接受任意类型的地址,但它不可以直接进行指针的+-整数和指针的解引用的运算。当运行以上代码是会报错,如图:我们可以看出void*可以接受任何类型的地址,但不能直接解引用,如果想要使用,可以强制类型转换后再解引用。

2023-11-27 20:43:17 1579 1

原创 指针(1)

在以上代码中,pa左边的int*中,*是在说明该变量是一个指针变量,而int是在说明pa指向的是一个整型的数据。对32位的机器我们可以理解为它有32根地址总线,每根线有两种状态,表示0,1,因此一根线有2种含义,故32位的机器就相当于有2^32中含义,一种含义相当于一个地址,因此32位的机器有2^32个地址。前面我们知道在32位机器中有32根地址总线,每根地址总线只能传输0或1,因此32根地址总线所产生的32位的二进制序列就是一个地址,因此在32位机器中,一个地址的大小是32个比特位,相当于4个字节。

2023-11-24 21:34:04 1474 1

原创 操作符及操作符的属性

大部分的运算符是左结合(从左到右执行),少数运算符是右结合(从右到左执行),如赋值运算符(=)。(2)| ---- 按位或:对应的二进制位进行或运算,只要有1即为1,两个同时为0才为0。(1)& ---- 按位与:对应的二进制位进行与运算,只要有0即为0,两个同时为1才为1。(3)^ ---- 按位异或:对应的二进制位进行运算,相同为0,相异为1。(4)~ ---- 按位取反:全部位取反,1变0,0变1,包括符号位。移位操作符有左移操作符(<<)和右移操作符(>>)两种。

2023-11-21 17:16:29 30

原创 二进制转换及原码、反码、补码

我们生活中最常用的就是十进制,在十进制中,是遇10进1,10进制的数字每一位都是由0~9的数字组成。而二进制和十进制相似,是遇2进1,数字由0,1两个数字组成。由二进制转换为十进制。如图:由此可知二进制数1101转化为10进制是13。八进制的数字是由0~7的数字组成的,7的二进制是111,因此最多3个二进制位就可以组成1个八进制,从已知二进制序列最右边向左,每3个二进制位会换算成一个八进制位。

2023-11-16 22:13:13 294 1

原创 C语言实现扫雷游戏(简易版)

在这里我们采用基础版的扫雷界面,它是由一个9*9的棋盘构成的,这81个格子中包含着10个雷,当你选中雷后游戏结束。首先,我们根据棋盘的样子想到了二位数组,由于雷是看不见的,雷埋在下面,我们可以得出这个游戏是由两个二维数组组成的。假设我们用1表示雷,0表示非雷,但如果某个位置显示1的话,这个1是表示雷呢还是表示周围有一个雷呢?这里面起了冲突。其次,我们应该设计多大的棋盘呢?

2023-11-01 21:09:42 100 1

原创 C语言的分支和循环语句

4.在循环过程中,若需要提前终止代码,就会用到break和continue语句。break的作用是永久终止本次循环,break只要被执行,就会直接跳出循环。对于悬空的else问题,可记住else只与最接近的if相匹配,而不是与对齐的if相匹配……顺序结构是通过if和switch语句实现的,而循环结构是通过while、for和do……while语句实现的。2.for循环是循环结构中使用最多的一种循环,for循环把循环变量的初始化、条件的判断以及循环变量的调整放在了一起,相比于while循环更加的紧凑、易读。

2023-10-25 11:51:22 35

空空如也

空空如也

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

TA关注的人

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