自定义博客皮肤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)
  • 收藏
  • 关注

原创 数组相关内容

了解数组的基本使用办法:初始化、查找、统计元素个数等等。对于数组,最关键的就是下标!至于下标为什么不从1开始,而是从0开始,这与计算机底层对于地址查找的逻辑有关,感兴趣的同学可以了解一下。

2025-04-19 15:24:02 966

原创 分支和循环(下)--练习:生成随机数

通过猜数字游戏,实践switch、do while循环、调用函数等知识点。

2025-04-19 09:12:36 454

原创 C语言数据类型和变量

了解C语言中常见的数据类型。了解sizeof。算数操作符、赋值操作符和单目操作符。强制类型转化以及 printf 和 scanf 的相关内容。

2025-04-19 09:12:10 763

原创 分支和循环

前面我们了解到控制语句有三类,那么本篇文章,就详细介绍这三类控制语句。

2025-04-19 09:04:07 834

原创 C语言常见概念

C语⾔中有⼀批保留的名字的符号,⽐如:int 、 if 、 return ,这些符号被称为保留字或者关键字• 关键字都有特殊的意义,是保留给C语⾔使⽤的• 程序员⾃⼰在创建标识符的时候是不能和关键字重复的• 关键字也是不能⾃⼰创建的。

2025-04-19 09:03:45 557

原创 堆排序(建堆用向上还是向下?)、topK问题

堆排序,利用了堆的特性--最大或者最小的值在数组首位。但是选次大的时候,最大值霸占了首位,就需要重新建堆,依次往复。为了解决这种情况,每次选出较大的数,首尾交换,然后再规定堆的范围,然后继续选,这样做的目的就是为了保护堆结构。topK问题,利用了堆中数据,遍历完一遍数组,堆中留下的就是我们想要的数据。总结两句话就是:升序建大堆,降序建小堆;top前k建小堆,top后k建大堆。

2024-12-08 19:26:13 188

原创 内存管理--new和delete

new和delete在malloc和free的基础上,增加了抛异常的措施,而且代码更简洁了。最重要的是,对于自定义类型(类),new和delete会自动调用构造和析构。还有多4B的问题、定位new表达式。

2024-12-01 17:56:37 770

原创 完全二叉树的应用--堆

1.堆是完全二叉树的应用。 2.堆中数据,父子的下标有什么关系? 3.向上调整建堆从哪开始,从哪结束? 4.向下调整建堆从哪开始,从哪结束?

2024-12-01 17:56:25 1205

原创 第三部分--树的基础概念

二叉树的基本概念。介绍满二叉树和完全二叉树

2024-11-29 16:56:14 178

原创 类和对象--下--static成员、友元、内部类、匿名对象、拷贝对象的优化(了解)

1.static的作用。对于成员变量、成员函数、全局函数的修饰意义都不同。2.友元就是给访问权限,想让谁访问,就将其设为友元。3.内部类的实践意义,仅供外部类使用。4.匿名对象的作用域是一行。5.编译器对拷贝的优化。

2024-11-29 13:04:24 847

原创 类和对象--中--初始化列表(重要)、隐式类型转化(理解)、最后两个默认成员函数

1.初始化列表、构造、拷贝构造 三者之间的区别和联系。初始化列表可以很好的控制,想给什么值就给什么值。2.隐式类型转化到底有什么用? 简介代码,可读性增强。3.最后两个默认成员函数对 “类” 做了什么操作? const成员函数把成员函数的参数权限缩小。另一个没什么实践价值。

2024-11-26 21:31:07 1150

原创 类和对象--中--运算符重载、日期类实现(重要)

运算符重载是具有特殊名字的函数,他的名字是由operator和后⾯要定义的运算符共同构成。和其 他函数⼀样,它也具有其返回类型和参数列表以及函数体。这种函数一般直接在成员函数里面。和函数的格式一样,只不过函数名有要求:operator 运算符.

2024-11-24 19:49:02 1319

原创 类和对象--中--拷贝构造、赋值拷贝(赋值重载)、三种赋值的区别

构造是对1个对象进行初始化。拷贝构造是用1个对象对另一个对象进行初始化。赋值拷贝是初始化完的两个对象,进行值的覆盖。

2024-11-24 11:13:17 1296

原创 类和对象--中--构造、析构

那么话又说回来。什么样的就是构造函数的受益者?总结:1.对象实例化时,如果成员变量是内置类型,且没有显式构造函数。那么构造函数的结果,由编译器决定。(上面图中,有时是随机值,有时是0)2.对象(Myqueue)成员变量都是自定义类型(Stack),且在该自定义类型(Stack)中,有对应的显式构造函数。3.构造函数归根到底,还得手搓。构造函数只是自动调用。

2024-11-21 17:09:23 810

原创 类和对象(上)--类、类的实例化(对象)、this指针

class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或 者成员函数。

2024-11-19 21:49:03 1080

原创 C++入门之inline、auto、范围for、nullptr

inline内联函数、auto、范围for、nullptr的使用场景以及优缺点。

2024-11-18 22:55:25 344

原创 设计循环队列

既然循环,什么时候是满的,什么时候是空的?用什么实现,数组还是链表?肯定需要两个指向:一个指向头,一个指向尾。问题一:队列满和队列空的判断冲突了。问题二:只有一个节点和没有节点的时候,这两个指向都相同,需要处理一下。

2024-11-18 19:26:42 687

原创 栈和队列的实现

栈和队列的出现,是为了解决一类问题,这类问题都有共性。栈对应了二叉树的深度优先搜索(DFS),队列是为了广度优先搜索(BFS)。因为栈是先进后出,与二叉树的后序遍历有相同之处;而队列是先进先出,与二叉树的前序遍历有相同之处。而数据的先进先出还是先进后出,由具体的问题来分析使用。

2024-11-17 22:08:31 417

原创 C++入门--函数重载、引用

引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间, 它和它引⽤的变量共⽤同⼀块内存空间。(这里共用内存的类型,和联合体有些类似。)(引用和指针类似,但是从代码角度,引用比指针好理解一些)

2024-11-17 17:46:52 947

原创 C++入门--命名空间、缺省参数

命名空间即是保护,又是限制,别人不能随意调用。缺省参数就是有个默认值。

2024-11-15 17:11:31 899

原创 数据结构->第一章->顺序表->链表

主要是二级指针的理解。为什么要用二级指针。以及本文反复提及到的 “要修改什么,就用什么的地址”,实在理解不了二级指针的话,就先记住这句话吧。

2024-10-21 00:07:04 314

原创 C语言的三种循环

学习和了解for循环、while循环、do while循环的使用场景。

2024-10-20 17:45:11 414

原创 C语言-文件操作

C语言文件,学完这篇文章,只能了解一些相关的知识和函数,并没有太多的实践意义。做到眼熟即可。

2024-10-19 20:26:17 920 1

原创 数据结构->第一章->顺序表->线性表

扩容问题!!!初始化、销毁、查看(打印)顺序表的尾部、头部插入顺序表的尾部、头部删除指定位置之前插入数据、删除指定位置数据

2024-07-15 18:34:01 313 1

原创 用冒泡排序来实现qsort函数

(注意引用strcmp的头文件 ‘ #include ’ )总结:用冒泡排序来模拟qsort函数,关键是:如何判断是否要交换这对数据,以及怎样用冒泡排序来实现这对数据的交换。

2023-12-08 21:37:11 586 1

原创 qsort的 数组排序 和 结构体排序

对于数组的排序,本质是比较元素的大小。对于结构体的排序,如果是整型,那也是比较元素的大小,如果是char类型,比较的是ASCII 值。从本质来看,就是比较数据在内存中的存储值,谁的值更大。那么就又有一个问题,数据在内存中如何存储?

2023-12-06 11:21:46 1135 1

原创 使用 回调函数 来 实现两个整型数字的加减乘除

【代码】使用 回调函数 来 实现两个整型数字的加减乘除。

2023-12-05 22:16:44 469 1

原创 指针数组;数组指针;函数指针;函数指针数组

1.指针数组。

2023-12-04 22:21:07 400

原创 求n的阶乘

/‘i’是形参,‘a’是实参// ‘ i ’ 求几的阶乘//阶乘的值为多少return 1;//‘0’的阶乘是1int j = 0;int k = 1;for (j = 1;j <= i;//求各个阶乘的值//将各个阶乘的值累加起来,就是我们最后想要的值return sum;//i>1时,返回值为sumint main()int a = 0;//'a':要求的值printf("请输入需要求几的阶乘:");//'a'是实参return 0;

2023-12-02 20:37:51 433

原创 冒泡排序(升序)

【代码】冒泡排序(升序)

2023-12-02 17:19:24 702

原创 最近代码的练习补交

【代码】最近代码的练习补交。

2023-11-29 09:36:29 390 1

原创 数组的学习

注:二维数组初始化的时候,行可以为空,但是列不能为空。-----------引用时,要加 ' #include '。----------引用时,要加 ‘ #include ’ 头文件。以下这个代码,是一个遍历查找,一个一个的比对目标值(通过scanf函数输入的值)。这两者的数据类型分别是:int [4] 和 int [5]。7. sizeof函数:计算的是变量或者类型的长度大小,单位是字节。1. 例如,如下的代码,虽然代码不同,但表示的是一样的意思。

2023-10-25 19:28:34 70 1

原创 牛客网c练习题

2)getchar()是一个单个获取字符的函数。----当没有第二个getchar()时,会多输出一 个*,因为摁回车的时候,相当于输入了一个‘LF’,LF+32=42(*)。代码解析:1)当提到大小写字母转化,应当第一时间想到ASCII表,(A+32=a)代码解析:1)“%*c”的含义,把输入中间的任何字符,解析后就被丢弃。代码解析:倒序输出一个十进制整数,其实也就是把 ’% 10’的余数逐个输出。3)putchar()是一个输出字符函数。4.输入学号,成绩。1.倒序输出一个十进制整数。

2023-10-21 22:17:01 286 1

空空如也

空空如也

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

TA关注的人

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