- 博客(12)
- 收藏
- 关注
原创 第四篇:【初学】C++的sort使用技巧以及快排实现
sort() 是 C++ 标准库中的一个排序函数,定义在algorithm头文件中。它的排序时间复杂度是Onlgn,远胜于普通的冒泡排序和选择排序。现在介绍其函数重载、使用方法以及快速排序的具体实现。
2025-03-12 21:21:11
562
原创 哈希表原理以及STL使用示例
让我们来就哈希表做一个最简单的介绍哈希表是一个通过key-value对(键-值对)实现快速查找数据的简单数据结构key是我们将对象插入哈希表时提取的特征,value则是我们需要储存的值。如果把哈希表理解成一座公寓,那么key在我看来,可以意译为“钥匙”,一把钥匙只能打开一扇门,所以一个key值只能对应一个value。使用哈希表,就是利用key值实现对数据(value)的快速查询。接下来,我们来看看哈希表在具体操作中如何使用。
2025-03-02 10:53:44
563
原创 C中数据的大小
输出注意:C99以后才有_Bool,类型等同于unsigned int,bool,true,false这三个宏储存在stdbool.h内。
2025-01-13 17:00:43
406
原创 C语言指针数组杂谈
由于指针与数组的相似性,常常在使用中令人混淆。笔者在此记录下使用指针时遇到的困难以及解决方法。解决问题时往往离不开数组,所以称为指针数组杂谈。
2024-12-15 17:41:11
266
原创 C语言输入带空格的一行字符串的方法
在编写代码的过程中,我们常常会碰到需要输入带空格的字符串的问题,但常用的scanf函数却会在遍历到空白字符(如空格,\n等停止),令我们十分苦恼。所以这次让我们来介绍几种常见的方法以及对于过程中遇到问题的一些解释。
2024-12-12 20:27:50
1450
1
原创 略谈动态规划
动态规划(dynamic programming),指每一步的结果都和前面产生的结果有联系,即每一步都可以视作前面全部解的映射,步步相关,牵一发而动全身,故称作动态规划不难看出,使用动规思路解题有两个关键。其一是想清楚动规数组的下标的意义,一般从题目求解的问题出发,求什么是什么。其二是找出递推关系,并保证每个数据都能正确被递推出,否则要对特例特殊处理。
2024-11-28 21:32:54
160
原创 C语言指针的一些谬误
n是指向常量的指针,所以不能通过解引用n的方式进行自增自减等操作,但是对y本身操作没有问题,因为y没有限定为常量。同时,可以修改n的地址。但是,这里的显式转型是暂时的,并不改变a的类型。也可以说,显式转型只是在操作的时候用另外的方法读取变量而已,并不涉及对变量本身属性的更改。对a第一次解引用时发生显式转型,把a从原本的const int*类型看成普通的int*类型,解引用并改变值的操作合法。第二次解引用时,a仍然是const int*变量,再解引用并自增就会报错。此时x可以修改,但不能通过*a的形式修改。
2024-11-27 23:29:00
333
原创 C语言函数如何返回数组
我们先来看一下,根据直观直觉写出来的错误代码是怎么样的return a;错误结果`t此处表示,返回了一个局部变量的地址,也就是说,返回局部变量的地址是非法的。这里的知识与数据结构“栈”有关,我们可以暂时理解成如下语言:当函数返回一个值的时候,可以把这个值传递到外界,那么函数返回数组时,相当于返回一个地址。此时,地址和值是等价的,函数一样把地址传到了外界。但是函数的生命周期在return完之后就已经结束了,因此内存被释放。
2024-11-25 15:51:11
283
原创 char类型负数
对于char类型变量,储存范围是-128到127,即-128到-1,0到127,128个数,对应char一字节8位,储存2^8=256个数。对于有符号数来说,其大小有一个反直觉的地方,即-128_{2}是大于127_{2}的对于二进制数而言,有以下规律1000 0000 : -128,相当于127+1,故称第一位是符号位,此种算法保证-128是最小的负数,1000 0001 :-127,相当于-128加一那么,-128减一会发生什么呢?
2024-11-21 20:50:13
473
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人