- 博客(24)
- 收藏
- 关注
原创 C++中类和对象(2)
本文主要介绍了构造函数、析构函数、拷贝构造函数、赋值运算符重载函数以及取地址运算符重载函数的特点,并且实现了一个较为完整的日期类Date。
2024-08-18 23:48:24
671
原创 C++中类和对象(1)
本文主要介绍了类的定义(如类的定义格式,访问限定符以及类域),类的实例化(如实例化介绍,对象的大小以及this指针),最后介绍C++和C语言的一些不同,通过C语言和C++分别实现了实现Stack
2024-08-18 12:35:41
960
原创 C++入门知识
主要介绍了C++的一些入门知识,如C++中的命名空间,简单的介绍了输入输出,缺省参数,函数重载,引用,inline内联函数,nullptr空指针
2024-07-24 19:48:31
926
原创 常见排序算法
介绍了常见的排序算法,冒泡排序,插入排序,希尔排序,选择排序,堆排序,快速排序,归并排序和计数排序的代码实现以及这些排序算法的时间复杂度和空间复杂度
2024-07-17 22:15:40
1000
原创 链式二叉树
主要介绍了二叉树的前序,中序,后序以及层序遍历。还介绍了一些关于二叉树部分的基础oj题,如单值二叉树,是否是同一棵树,是否是对称二叉树,二叉树的构建,是否是完全二叉树等
2024-06-21 14:45:14
987
原创 二叉树和堆
本文主要介绍了树的一些概念,如树的度,父节点,子节点,兄弟节点等,还介绍了完全二叉树和满二叉树,以及二叉树的一些性质和结论,满二叉树是一种特殊的完全二叉树。还介绍了堆这种数据结构,堆通常使用数组来进行存储的,其中堆最重要的就是利用可使用堆来进行堆排序。通过堆引出了topk问题。对于topk问题可通过建立小堆可以选出最大的k个数,建立大堆可选出最小的k个数。
2024-06-05 21:23:07
623
原创 实现栈和队列
本文主要介绍了栈和队列这两种数据结构性质和特点,栈是后进先出,队列是先进先出。通过使用C语言实现了这两种数据结构,栈的底层是用数组,队列底层使用的是链表,最后还介绍了一些经典的栈和队列的题的思路以及代码的实现。
2024-05-20 21:13:25
1053
1
原创 环形链表的经典问题
环形链表是一种链表数据结构,环形链表是某个节点的next指针指向前面的节点或指向自己这个节点的一个链表,这个链表就构成了环形链表。
2024-05-01 16:18:52
894
1
原创 C语言中常用的文件操作
常用的关于文件操作函数,如fopen,fclose,fread,fwrite,feek,ftell,rewind以及feof和ferror等文件操作操作函数,还介绍一些用于所有输入输出流的函数如fgetc,fputc,fgets,fputs,fprintf,fscanf等函数,还介绍了sscanf,sprintf函数,feof和ferror函数。最后还介绍了文件文件缓冲区的存在
2024-03-27 18:02:29
2397
原创 字符串函数和内存函数
简介:本文将介绍常使用的字符串函数和内存函数,以及对其进行模拟实现,以便能够更好的理解这些函数的使用。常用的字符串函数有strcpy,strcat,strcmp,strncpy,strncat,strncmp,strstr等,常见的内存函数有memcpy,memmove,memset,memcmp等
2024-03-15 19:26:13
2133
1
原创 单链表的实现
单链表是一种常用的数据结构,用于存储元素的线性集合,其中每个元素都是一个节点,每个节点指向下一个节点,形成一个链。在单链表中,每个节点通常包含两个部分:一个是存储的数据(或称为值),另一个是指向下一个节点的指针(或链接)。单链表的最后一个节点的指针指向NULL,表示链表的结束。
2024-03-10 22:37:26
1038
1
原创 通讯录(文件保存、读取版本)
主要介绍了fopen,fread和fwrite参数以及功能,并在这个基础上完成了对通讯录的改造(以实现信息的存储功能)
2024-02-22 16:25:51
1031
1
原创 使用结构体实现通讯录(静态版本+动态版本)
实现一个通讯录,用来保存其名字,年龄,性别,电话,住址1、增加联系人2、删除指定联系人3、修改指定联系人4、查找指定联系人5、显示当先所存所有联系人的信息6、对当前联系人按照某个标准进行排序考虑到通讯录要存储联系人的姓名,年龄,性别,电话,所以考虑使用结构体来存储通讯录的数据信息。对于这个实现我们采用多文件的形式来完成,test.c用来实现整个通讯录的测试逻辑,contact.h实现对函数,标识符,结构体等声明,contact.c用来实现整个通讯录的增删查改显示以及排序函数的实现。test.c文
2024-02-21 20:11:38
537
原创 用冒泡排序实现类似qsort的排序函数
介绍了qsort的使用,该函数可以对结构体数组,整形数组等进行排列,以及使用报告冒泡排序来模拟实现qsort,实现出来的结果和库函数的功能基本一致
2024-02-18 15:10:33
1034
1
原创 扫雷游戏的实现(粗略版)
本文主要介绍初级的扫雷版本也就是9*9的,为了方便测试放置雷的数量是79个,实现的文件有game.h用来声明和定义,game.c扫雷游戏的实现的函数实现以及test.c文件用来测试扫雷游戏的进行的。
2024-02-07 18:38:48
894
1
原创 C语言分支和循环(下)
C语言是程序化设计的语言,包含顺序结构,分支结构以及循环结构,本篇文章主要介绍循环结构的语法规则以及一些用法和例子,例子可能会配合着分支结构进行使用。循环结构包括while,for以及do...while结构。while循环结构的语法如下,跟if语句很像但if满足条件就自行以此,而while只要满足表达式(表达式为真)就自行语句,单条语句写成下面的如果这个语句有多条可以写成如下(单条语句也可这样写便于阅读):while执行的流程图如下所示例如,给定两个数,求这两个数的最大公约数。思路:将较大的整
2024-02-05 15:34:00
1103
1
原创 C语言分支和循环(上)
本文主要介绍了if else的语法规则,一些基本用法以及例子,还介绍了switch case的语法规则,一些基本用法以及例子
2024-02-05 14:08:35
624
1
原创 汉诺塔问题
总结:将汉诺塔问题用递归的方式来解决,其核心是不需要关注中间具体是如何操作的,可以将函数hannuo当做一个已经实现好了的黑盒子可以计算从n,n-1...等移动的次数的一个函数,要想计算n个盘子移动的次数,则需要计算n-1个盘子移动的字数...,而限制条件是a==1时可以返回结束继续的递推,紧接着便是一层一层的回归,这也是递归的意思,先递推在回归,所以在实现的时候直接调用函数hannuo以此来实现递归。(3)移动的过程中这些盘子可以放A,B,C这三根柱子任意的柱子上。(2)上面的盘子要比下面的盘子小。
2024-02-02 22:14:21
325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人