数据结构
文章平均质量分 81
Kio鱼
这个作者很懒,什么都没留下…
展开
-
数据结构--队列
为了避免只有一个元素时,队头和队尾重合处理的麻烦,所以引入两个指针,front指针指向队头元素,rear指针指向队尾的下一个元素,这样就可以检查空队列,即当front==rear时。继续进数据a5 ,这时就会存在数组越界的问题,其实下标为0和1的位置仍然为空,这种现象就叫做“假溢出”这里给出的一个方法就是,额外开一个空间,始终留一个空间,当rear的下一个等于front时就为满。a1,a2出队列时,front指针指向下标为2的地方,rear指针的位置不变。下面是一个用数组实现的队列。原创 2024-05-17 17:59:36 · 379 阅读 · 1 评论 -
数据结构——栈
1.我们可以定义一个结构体( struct stack),其中有数组(SLDataType *a),栈顶元素的下标(top)和栈的空间(capacity)。通常为0.我们会将栈为空时状态定义为以下,但是如果将没有元素时top为0,这是top指向的就不是栈顶元素,而是栈顶元素的下一个元素。我们可以实现一个静态栈(数组的长度是一定),但是这种结构并不实用,我们接下来实现的是动态栈。如果不是左括号,就要判断栈是不是为空,若为空,直接返回false,不为空,再取栈顶元素与之比较。总体来说,实现一个栈还是很容易的。原创 2024-05-15 18:16:29 · 432 阅读 · 0 评论 -
数据结构-链表OJ
思路一:遍历原链表,将值为val的节点释放掉思路二:创建一个新链表,将值不为val的节点尾插到新链表中。原创 2024-05-02 21:39:12 · 530 阅读 · 1 评论 -
带环链表问题
1.给定一个链表,判断链表中是否带环带环链表就是字面意思带环的链表,例如以下这三种情况1.给定一个链表,判断链表中是否带环思路:快慢指针,慢指针走一步,快指针走两步,两个指针从链表的起始位置开始走,如果链表带环,快慢指针一定会在环中相遇,否则快指针先走到链表的末尾。当slow指针进环时,fast和slow追及(一定能追上),证明过程如下证明:假设slow进环时,与fast指针相距N,快慢指针的速度差为1,所以快慢指针之间的距离变化为。原创 2024-05-02 15:52:18 · 61 阅读 · 0 评论