- 博客(29)
- 收藏
- 关注
原创 栈和队列<数据结构 C版>
栈是一种特殊的线性表,其只允许在特定的一端进行插入和删除操作。队列也是一种特殊的线性表,其在一端进行插入操作,另一端进行删除操作。
2024-07-27 20:34:07
2242
97
原创 双向链表<数据结构 C版>
根据链表的三大特性,单向or双向、带头or不带头、循环or不循环,可将链表分为2*2*2,8种链表,前面我们已经实现了单链表,即:不带头单向非循环链表,它的结构简单,不常用于单独存储数据,而是作为其他数据结构的子结构。
2024-07-22 08:05:36
2457
79
原创 顺序表<数据结构 C版>
顺序表就是线性表的一种,它在逻辑结构与物理结构上都是连续的,一般情况下它的底层就是数组,在数组基础上多了增删查改操作。
2024-07-15 08:31:38
2159
86
原创 算法复杂度<数据结构 C版>
简单来说算法复杂度是用来衡量一个算法的优劣的,一个程序在运行时,对运行时间和运行空间有要求,即时间复杂度和空间复杂度。
2024-07-13 08:21:27
2973
71
原创 常用字符串方法<python>
函数功能:在string中以old替换掉new,可选参数count替换count次,默认全替换。函数功能:以string分隔并加入到iterable,当用于List时,返回结果也是字符串。函数功能:在string中以sep分隔maxsplit次,默认空格分隔,生成结果是list。函数功能:查找字符串string中sub第一次出现的索引,没有返回-1,不能用于list。函数功能:查找字符串string中sub第一次出现的索引,没有报错,能用于list。函数功能:判断字符串string是否以obj开头。
2024-06-30 11:17:01
1375
86
原创 文件操作<C语言>
平时我们在写程序时,在运行时申请内存空间,运行完时内存空间被收回,如果想要持久化的保存,我们就可以使用文件,所以下文将要介绍一些在程序中完成一些文件操作。
2024-06-22 23:23:35
2712
76
原创 动态内存管理<C语言>
是后期学习数据结构的最重要的三大知识模块,也是C语言比较难的知识模块,但是“天下无难事”,只要认真踏实的学习,也能解决,所以下文将介绍动态内存管理涉及到的一些函数以及概念。在实际编写程序时,可能我们对于内存空间的需求不是固定,那么使用动态内存管理自己申请空间、自己释放空间就是一个很好的选择。●释放空间后,只是将权限交还于操作系统,指针还指向着地址(悬空指针),应该手动将其置为NULL。的内存空间内(实际上,有一种情况不会,但是为了代码的健壮性和可移植性,我们最好这样定义)●空间开辟的空间是固定的。
2024-06-11 14:03:00
2277
89
原创 联合体和枚举<C语言>
在C语言中除了结构体外,联合体和枚举也是自定义类型,联合体主要用于节省空间,在同一块内存存储多种类型的数据,而枚举可以提高代码的可读性、可维护性。
2024-06-09 21:15:41
2609
70
原创 结构体<C语言>
结构体是C语言中的一种自定义类型,它的值(成员变量)可以是多个,且这些值可以为不同类型,这也是和数组的主要区别,下面将介绍它的一些基本用法,包括:结构体的创建、结构体变量的声明、初始化、结构体的访问、结构体的内存对齐等。
2024-06-08 22:49:58
1988
67
原创 数据在内存中的存储<C语言>
在计算机中不同类型的数据在计算机内部存储形式各不相同,弄懂各种数据在计算机内部存储形式是有必要的,C语言的学习不能浮于表面,更要锻炼我们的“内功”,将来在写程序的时候遇见各种稀奇古怪的bug时,也便能迎刃而解,所以本文将着重介绍,整数在内存中的存储、大小端字节序和判断、浮点数的存储。
2024-05-31 23:02:24
3343
32
原创 内存函数<C语言>
前面两篇文章介绍了字符串函数,不过它们都只能用来处理字符串,C语言中也内置了一些内存函数来对不同类型的数据进行处理,本文将介绍:memcpy()使用以及模拟实现,memmove()使用以及模拟实现,memset()使用,memcmp()使用。
2024-05-29 22:46:50
2290
85
原创 字符串函数(2)<C语言>
快一周没更博客了,最近有点忙,今天闲下来了,还是不行,继续干,书接上回继续介绍字符串函数:strncpy()、strncat()、strcmp()、strtok()使用以及模拟实现、strstr()使用以及模拟实现、strerror()使用。
2024-05-27 15:17:07
1928
68
原创 字符函数和字符串函数(1)<C语言>
在C语言编写程序时,常常需要完成对字符和字符串的处理,为了快捷方便处理字符和字符串,C语言内置了一些字符函数和字符串函数,所以下文将要介绍一些,如:头文件包含的一些字符分类函数:islower()、isdigit()、isupper()、isalpha()等,头文件包含的strlen()、strcpy()、strcat()、strcmp()、strncpy()、strncat()、strncmp()等。
2024-05-19 11:19:27
1962
68
原创 初识指针(5)<C语言>
在前几篇文章中,已经介绍了指针一些基本概念、用途和一些不同类型的指针,下文将介绍某些指针类型的运用。本文主要介绍函数指针数组、转移表(函数指针的用途)、回调函数、qsort使用举例等。
2024-05-13 14:51:00
1786
49
原创 初识指针(4)<C语言>
前面的文章,已经对指针的基础概念以及运用有了初步了解,我们可以进一步探究指针比较深入的知识,下文将主要介绍:使用指针数组模拟二维数组、字符指针变量、数组指针、二维数组传参的本质、函数指针、typedef关键字等。
2024-05-11 11:09:02
1524
33
原创 初识指针(3)<C语言>
前面两篇文章已经介绍了一些关于指针的基础知识,下面我们可以涉及一些指针较容易混淆的概念,本篇文章将介绍数组名的理解、指针输入打印数组的不同格式、一维数组传参的本质,冒泡排序,二级指针,指针数组等。
2024-05-08 23:50:32
1450
21
原创 初识指针(2)<C语言>
前文介绍完了一些指针基本概念,下面介绍一下,const关键字、指针的运算、野指针的成因以及避免,assert函数等。目录const(常属性)变量的常属性指针的常属性指针的运算①指针+ -整数②指针-指针③指针与指针的比较野指针的成因以及避免①指针未初始化,就使用②指针越界访问数组③指针使用已释放的地址assert(断言)函数。
2024-05-06 21:56:40
1381
22
原创 初识指针(1)<C语言>
指针是C语言中比较难的一部分,大部分同学对于此部分容易产生“畏难情结”,但是学习好这部分对C语言的深入很大的帮助,所以此篇主要以讲解指针基础为主。
2024-05-05 17:32:21
1081
8
原创 图案问题解决思路<C语言>
在C语言初学阶段,图案问题算是一个比较难的问题,但是在掌握此类问题的解决思路过后,再遇到此类问题时,便可迎刃而解,此类问题主要有以下解题思路:
2024-05-04 22:12:37
670
10
原创 兔子繁衍问题<C语言>
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?可以观察到兔子数量是一个有规律的数列:1、1、2、3、5、8。它的第1、2项为1,每一项为前两项的和。(这种数列也被称为斐波那契数列)
2024-05-02 18:49:34
1123
12
原创 关于位操作符的实际应用<C语言>
位操作符在C语言初学阶段相对其他操作符来说,是一种难度比较大的操作符,且运用较少的一类操作符,但是位操作符并不是“一无是处”,合理运用的位操作符,在某些场景下可以优化算法,提高代码的执行效率,存在即合理。
2024-05-01 23:08:22
763
8
原创 简单数学问题:水仙花数<C语言>
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
2024-04-26 14:26:27
672
12
原创 扫雷游戏<C语言>
扫雷游戏起源于1973年的“方块”游戏。1992年微软发布的Windows3.1中加入该游戏,从此风靡全世界。玩扫雷游戏,可以锻炼观察和推理能力,培养细心和耐心。游戏规则:游戏目标是找出所有雷,格子里的数字代表它四周8个坐标内有几个雷,“触雷”则输。
2024-04-25 21:00:40
1152
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人