数据结构
@会飞的鱼≯
对的时间遇上对的人
展开
-
数组模拟队列
队列 介绍 队列是一个 有序列表,可以用 数组或是 链表来实现。 遵循 先入先出的原则。 数组模拟队列图 数组模拟队列思路(环形队列) 1.队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队 列的最大容量。 2.因为队列的输出、输入是分别从前后端来处理,因此需要两个变量 front 及 rear 分别记录队列前后端的下标, front 会随着数据输出而改变,而 rear 则是随着数据输入而改变 代码实现 class Queue{ pri原创 2020-07-06 14:37:37 · 75 阅读 · 0 评论 -
面试题06:逆向打印链表,以数组形势返回
代码如下,已给出详细注释,主要思路就是先将链表反转,再遍历链表保存到数组中 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public int[] reversePrint(ListNode head) {原创 2020-07-04 13:26:11 · 98 阅读 · 0 评论 -
稀疏数组
稀疏数组 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 记录数组 一共有几行几列,有多少个不同的值(第一次遍历) 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而 缩小程序的规模(第二次遍历) 具体应用 使用稀疏数组,来保留类似前面的二维数组(棋盘、地图等等) 把稀疏数组存盘,并且可以重新恢复原来的二维数组数 整体思路分析 1.对输入的二维数组arr进行遍历,并用变量count记录arr中的有效数据个数 2.创建稀疏数组spar原创 2020-07-04 13:16:19 · 141 阅读 · 0 评论