摘要:
栈 栈的英文为(stack)是一个先入后出(FILO-FIRST IN LAST OUT)的有序列表。栈是限制线性表中元素的插入和删除只能再线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一段,称为栈顶(TOP),另一段为固定的一段,称为栈底(BOTTOM)。根据栈的定义可知,最先 阅读全文
摘要:
分析 双向链表的遍历,添加、修改、删除的操作思路 遍历方合单链表一样,只是可以向前、向后查找 添加(默认添加到双向链表的最后) (1)先找到双向链表的最后这个节点 (2)temp.next = new DataNode(); (3)newDataNode.Pre = temp; 修改思路和原理跟单向 阅读全文
摘要:
链表是有序列表,它在内存中是存储如下: 上图的表格来模拟链表的结构,其中每一行为一个节点(以第一行举例110,a2,180)。 ‘data域’用来存放数据 ‘next域’用来指向下一个节点。 ‘头指针(也成为头节点)’,150是指向表格中第五行的‘地址为150’的a1节点。而‘next域’110指向 阅读全文
摘要:
1.队列介绍 队列是一个有序列表,可以用数组或是链表来实现。 遵循陷入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。 队列有两种实现方式,一种是数组一种是链表。(这里用数组模拟队列) 图中,左一 首先初始化一个数组和两个指针front、rear; front代表队首,rear代表队尾 阅读全文
摘要:
上一章说到的数组模拟队列存在的问题,问题分析并优化 目前数组使用一次就不能用,没有达到复用的效果 将这个数组使用算法,改进成一个环形的队列 1.数组模拟环形队列 对前面的数组模拟队列的优化,充分利用数组。因此将数组看做是一个环形的。(通过去模的方式来实现即可) 分析说明: 尾索引的下一个为头索引时, 阅读全文
摘要:
1.场景问题 编写五子棋程序中,有存盘和续上盘的功能。 2.问题分析 上面棋盘可用二维数组进行记录,但是二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组 3.基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 记录 阅读全文
摘要:
1.Overview WinDbg是一款基于window操作系统的调试工具,它可以帮助我们查出在日常开发工作中可能会遇到的问题;例如: (1)程序莫名其妙的崩溃 (2)内存溢出、CPU占用高不知道原因 2.Detail 需要上手了解它,大概需要以下几个步骤: (1)在win10或win11操作系统中 阅读全文