- 博客(9)
- 收藏
- 关注
原创 数据结构---栈和队列
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的 代价比较小。
2024-05-28 11:25:24
702
4
原创 数据结构之顺序表
1.数据结构是由“数据”和“结构”两词组合⽽来。什么是数据?常⻅的数值1、2、3、4.....。⽹⻚⾥⾁眼可以看到的信息(⽂字、图⽚、视频等等),这些都是数据2.什么是结构?当我们想要使⽤⼤量使⽤同⼀类型的数据时,通过⼿动定义⼤量的独⽴的变量对于程序来说,可读性 ⾮常差,我们可以借助数组这样的数据结构将⼤量的数据组织在⼀起,结构也可以理解为组织数据的 ⽅式。例如想要找到草原上名叫“咩咩”的⽺很难,但是从⽺圈⾥找到1号⽺就很简单,⽺圈这样的结构有效将 ⽺群组织起来。
2024-04-07 09:31:50
893
4
原创 结构体的学习
其中char类型占一个字节int类型要占4个字节前两个就要占5个字节,但是由于对齐问题第一个char类型字节选一个内存后得自动对齐到4的位置,在进行内存增加,所以第一个char类型有3个空内存我未被使用 ,以此类推所以总共占12个空间。在C语言中,结构体内存对齐是由编译器自动完成的,但对于程序员来说,了解内存对齐的规则和原理是非常重要的。`成员1`、`成员2` 等是结构体的成员,可以是任意数据类型,也可以是其他结构体类型。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所降。
2024-03-21 11:56:53
274
7
原创 整数与浮点数在内存中的存储
这时,浮点数的指数E等于1-127(或者1-1023)即为真实值,有效数字M不再加上第一位的1,而是还原为0.xxxxxx的小数。这时,浮点数就采用下面的规则表示,即指数E的计算值减去127(或1023),得到真实值,再将有效数字M前加上第一位的1。对于32位的浮点数,最高的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M。对于64位的浮点数,最高的1位存储符号位S,"接着的11位存储指数E,剩下的52位存储M。的两个部分,其中0表示为正,1表示位负,而符号位在第一个,其他的全是数值位。
2024-03-19 16:34:11
239
9
原创 C语言的内存函数
• 如果source和destination有任何的重叠,复制的结果都是未定义的。C语言中的内存函数是一组用于操作内存的函数,它可以帮助我们在程序中进行内存的读写,复制,比较等操作,包括memcpy,memmove,memset,memcmp等等。`memset`函数的三个参数分别是要初始化的内存地址、初始化的值和要初始化的字节数。memset是⽤来设置内存的,将内存中的值以字节为单位设置成想要的内容。的是:memmove可以处理重叠的内存区域,它的原型为。处理的源内存块和⽬标内存块是可以重叠的。
2024-03-17 19:55:08
348
6
原创 对于qsort函数学习
接着,我们调用`qsort`函数,传入数组指针、数组元素个数、数组元素大小和比较函数指针。在C语言中,`qsort`函数是一个非常常用的函数,它可以对数组进行快速排序。3. `qsort`函数是一个原地排序算法,即排序过程中不需要额外的空间,但是它会改变原始数组中元素的顺序。2. 如果要对自定义类型的数组进行排序,需要自定义比较函数,并在比较函数中指定两个元素的大小关系。`qsort`函数是C语言中一个非常常用的函数,它可以对数组进行快速排序,使用方法非常简单。1. 定义一个数组,并初始化数组元素。
2024-03-12 15:55:22
346
6
原创 关于指针的学习
在上面的代码中,我们首先使用 `scanf` 函数读取一个整数 `n`,然后使用 `malloc` 函数动态分配一个长度为 `n` 的整型数组。在上面的代码中,我们定义了一个 `swap` 函数,它接受两个指针作为参数,并交换它们所指向的变量的值。在 `main` 函数中,我们定义了两个整型变量 `x` 和 `y`,并将它们的地址传递给 `swap` 函数,从而实现了 `x` 和 `y` 的值交换。在使用指针时,需要使用取地址符(&)获取变量的地址,或者使用星号(*)获取指针所指向的变量的值。
2024-03-08 14:48:12
844
1
原创 关于C语言的分支与循环
其中,expression为一个表达式,其值会与每个case后面的值进行比较。如果expression的值等于某个case后面的值,则执行该case后面的代码块;其中,condition为一个表达式,如果其值为真,则执行if语句后面的代码块;否则执行else语句后面的代码块。其中,condition为一个表达式,只要其值为真,就会一直执行while循环后面的代码块。分支语句用于根据条件执行不同的代码块。switch语句用于根据条件执行不同的代码块。if语句用于根据条件执行不同的代码块。
2023-11-30 12:15:31
376
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人