韩顺平讲的,用数组模拟栈,再用栈做一个简单的计算器https://www.bilibili.com/video/BV1E4411H73v?p=35 其中韩顺平给出的代码有一些问题,当计算形如A - B * C + D这种式子的时候结果会出错,比如计算: 5 - 2 * 3 + 1 计算结果为-2 原 Read More
posted @ 2021-04-22 19:31 imissinstagram Views(69) Comments(0) Diggs(0) Edit
如果对于一个已经创建好的链表进行如下操作: singleLinkedList.head = singleLinkedList.head.next; singleLinkedList.list(); 将链表头从第一个元素指向了第二个元素,那么链表头的元素会被回收。此时head指向第二个元素,第一个元素 Read More
posted @ 2021-04-20 10:51 imissinstagram Views(85) Comments(0) Diggs(0) Edit
之前总结过一个单向链表反转的范式https://www.cnblogs.com/LostSecretGarden/p/14658018.html 对于双向链表的反转操作,可以继续套用上述的范式,但是在一些细节之处需要修改: public void reverseList() { if (head.n Read More
posted @ 2021-04-16 20:39 imissinstagram Views(382) Comments(0) Diggs(0) Edit
双向链表按顺序添加Node的时候,要先处理Node后面的指针,再处理Node前面的指针,原因在于: 如果先把Node和链表前半截连起来,链表前半截指向链表后半截的指针就没了,这样后半截链表就找不到了 先把Node和链表后半截连起来,这样由于Node是可以直接找到的,所以可以进行将Node和链表前半截 Read More
posted @ 2021-04-16 10:52 imissinstagram Views(507) Comments(0) Diggs(0) Edit
方法思路是先比较链表一和链表二的第一个元素的值,将值较小的连接到主链表上,假定链表一的值小,那么链表一的指针后移,让链表一的第二个元素和链表二的第一个元素比较,以此类推。 public class MergeLinkedList { public static void main(String[] Read More
posted @ 2021-04-14 22:17 imissinstagram Views(88) Comments(0) Diggs(0) Edit
单向链表反转的方法代码: public void reverseList(Node head) { //如果单向链表为空,或者只有一个节点,无需反转,直接返回 if (head.next == null || head.next.next == null) { return; } //定义一个辅助指 Read More
posted @ 2021-04-14 15:11 imissinstagram Views(279) Comments(0) Diggs(0) Edit
需要注意以下两点: 如果你使用的是https://github.com/BruceZhaoR/Zh-beamer提供的模版,切记把文件beamer_default.tex里面 \usepackage{xecjk} 改成 \usepackage{xeCJK} 如果你使用macOS且用了https:// Read More
posted @ 2021-04-14 00:30 imissinstagram Views(152) Comments(0) Diggs(0) Edit
环形队列可以用图示阐明: 当用数组去构建环形队列的时候,数组初始化完成后,其实环形队列各位置的索引就已经确定了。所以在写环形队列的增删改查时需要考虑对数组最大容量取模,因为位置8过去马上就成为位置1。 Read More
posted @ 2021-04-14 00:20 imissinstagram Views(195) Comments(0) Diggs(0) Edit
对于链表添加操作,假如不考虑按序号添加,则可以写一个简单的方法: public void add(HeroNode heroNode) { //因为head节点不能动,因此我们需要一个辅助变量遍历 HeroNode temp = head; //遍历链表,找到最后 while (true) { // Read More
posted @ 2021-04-14 00:12 imissinstagram Views(346) Comments(0) Diggs(0) Edit
还原二维数组的稀疏数组的时候,需要确定稀疏数组的行数。对于这种稀疏数组,列数总是3。 11 11 2 1 2 1 2 3 2 对于上面这个稀疏数组,右上角的2代表了二维数组中的非0元素个数,第一行的两个11代表二维数组为11乘11的数组。问题的关键在于提取右上角的数字,把这个数字加1,就可以确定稀疏 Read More
posted @ 2021-04-13 17:02 imissinstagram Views(58) Comments(0) Diggs(0) Edit