- 博客(46)
- 收藏
- 关注
原创 队列的原理及应用
2.出栈/获取栈顶元素需要注意: 当s2为空时, s1不为空时, 把s1中的元素全部弹出给s2, 进行元素逆置;s2不为空或s1为空不弹出, 因为s2中的元素已经逆置, 等待s2中的元素出队完即可再次逆置。双端队列: 指允许队列的两端都可以进行入队和出队操作的队列, 说明元素可以从队头出队和入队, 元素也可也从队尾入队和出队。1.s1用来入元素, s2在需要出栈时对把s1的元素全部弹出到s2中, 然后弹出栈顶元素。队列的实现分为顺序结构和链式结构, 两种均可实现队列。两个栈进行模拟队列: s1, s2;
2024-12-15 21:59:40
986
原创 栈的原理和实际使用
循环把 pushed 数组的值全部入栈, 在入栈过程中判断 poped 数组的值是否和入栈的元素相同, 相同则出栈, 不相同进行下一次判断, 最后判断栈是否为空, 为空则说明栈序列相同。两个栈辅助实现: 一个栈用于正常的进栈和出栈;另一个栈只用于入最小值和出最小值的栈。当遇到右括号后, 判断是否右匹配的左括号, 有则出栈;出栈后的数字使用对应的符号进行操作, 然后把结果再入栈,最后弹出结果。遇到数字则入栈, 遇到符号则出栈(出栈两次),给你一个链表, 请把链表中的内容进行逆序打印。3.逆波兰表达式求值。
2024-12-14 23:26:13
598
原创 详解LinkedList中的底层实现
获取元素第一次出现的位置// 计数器, 用于获取目标节点处于那个下标// 若是 o 为空, 也需要找到 null 在链表中的那个位置, 把这个位置返回x!= null;index++;} else {// 不为空, 那么就判断那个节点值和当前的 o 相等, 相等则返回对应的下标x!= null;index++;// 没有找到的情况return -1;获取元素最后一次出现的位置// 计数器, 下标从链表的最后一个位置开始。
2024-12-02 22:07:36
724
原创 模拟实现单链表 —— SingleLinkedList
模拟实现 java 中单链表的实现,方便后续对 java 中的 LInkedList 进行理解。
2024-12-02 13:32:32
408
原创 模拟实现顺序表 —— ArrayList
通过模拟实现ArrayList后,会对底层的原理以及思想会更加理解。以下代码是针对上述 ArrayList 类的模拟实现。
2024-12-01 21:11:10
194
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人