- 博客(9)
- 收藏
- 关注
原创 栈和队列的概念以及实现
栈:是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out)队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数 组头上出数据,效率会比较低。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出队列:进行删除操作的一端称为队头。
2024-05-27 14:51:49
229
原创 数据结构——链表的带环问题
所以其中的距离,假如N为偶数,那么距离变化为N,N-2,N-4......4,2,0;如果N为奇数,那么距离变化为N,N-2,N-4......3,1,-1。假设slow和fast两个指针在如图所在的位置,并设其之间的距离为N,进行追击距离会从N,N-1,N-2......3,2,1,0,逐渐减小为0,最后相遇。如果错过,距离为-1,则开始新一轮的追击,设环形周长为C,所以距离变成了C-1。N%3==0,N%3==1,N%3==2,分别是三种状况。例如,slow走1步,fast走4步,速度差是3。
2024-05-07 21:17:32
320
1
原创 整数和浮点数在内存中的
对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。这时,浮点数就采⽤下⾯的规则表⽰,即指数E的计算值减去127(或1023),得到真实值,再将有效 数字M前加上第⼀位的1。十进制的5.0,二进制为101.0,相当于1.01*2^2,于是可以得出S=0,M=1.01,E=2。这时,如果有效数字M全为0,表⽰±⽆穷⼤(正负取决于符号位s)正整数的原,反,补码都一样。
2024-03-24 18:16:38
318
原创 C语言中常见字符函数和字符串函数的使用和模拟实现
我们在编程过程中,我们经常要处理字符和字符串,为了方便操作,c、语言标准库中提供了一系列库函数。一.字符分类函数这些函数的使用都需要包含一个头文件是ctype.h函数如果他的参数符合下列条件就返回真ischtrl任何控制字符isspace空白字符:空格‘’,换页‘\f,换行'\n',回车‘\r’,制表符'\t'或者垂直制表符'\v'isdigit十进制数字‘0’~ ‘9’字符isxdigit十六进制数字,包括所有十进制数字字符,小写字母a~f,大写字母A~Fislower。
2024-03-24 16:16:26
256
原创 C语言-分支和循环
for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,for 循环的三个部 分⾮常集中,便于代码的维护,⽽如果代码较多的时候 while 循环的三个部分就⽐较分散,所以更推荐使用for 循环。不同于for循环和while循环,do while循环直接进入了循环体开始循环,while判断为真再返回上面的循环体,为假则不再循环。1.每一个case后面都要加上break,跳出Switch循环,不然就会把下面case的情况打印出来。2.当不符合以上的情况则用default。
2024-01-31 23:16:03
149
原创 从头开始学c
大一首次开始接触了c语言,但那年老师因为让我们自己课后准备ppt,然后开始讲课,大家讲的水平也参差不齐,那个时候听同学们讲听得不是很明白,老师只会在旁边点评,虽说课后也看了有关c语言的视频,但终究基础没有打牢,所以现在打算重新再一次开始学习c语言。目前的目标是希望以后的毕业设计能灵活运用c语言顺利的完成顺利毕业,虽然我想说靠c语言找份不错的工作,但感觉现如今的就业门槛完全不够,我也会更加努力的去加强我的能力。现在我开始从0再重新开始学c语言,也希望我不要浮躁,不要因为我懂点皮毛就跳到后面学难的,重新学。
2024-01-16 22:37:30
343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人