
数据结构
c、c++、java描述
Ravi-Moonlight
编程菜狗积累中。。。。
展开
-
剑指 Offer 30. 包含min函数的栈
1.题目及链接https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/2. 代码class MinStack { // 栈顶 private Node head; public MinStack() { } public void push(int x) { if (head == null) // 初始创建 head = new Node(x,原创 2021-09-24 23:22:07 · 157 阅读 · 0 评论 -
栈的数组实现和链表实现——韩顺平java数据结构系列(三)
1. 栈的要点栈是一个先入后出(FILO)的有序列表。栈限制线性表的插入和删除操作只能在一端进行。允许插入和删除的一端,即变化的一端,称为栈顶;另一段为固定的一端,称为栈底。2. 数组模拟栈要点:需要一个指针top用来指示栈顶当top指向0时,栈拥有第一个元素;故栈空时应该设置top = -1入栈操作,top++;stack[top] = val;出栈操作, int val = stack[top]; top–; return val;但是这个栈不能原创 2021-09-16 14:54:19 · 234 阅读 · 0 评论 -
数组模拟队列和环形队列——韩顺平java数据结构系列(二)
数组模拟普通队列代码:public class ArrayQueue { private final int maxSize; // 数组最大容量 private int front; // 队首,指向队列头部元素的前一个位置(不包含) private int rear; // 队尾,指向队列末尾元素(含队尾元素) private final int[] arr; // 队列数组 // 队列构造器 public ArrayQueue(int maxSize) { th原创 2021-09-02 18:34:25 · 288 阅读 · 0 评论 -
稀疏矩阵——韩顺平java数据结构系列(一)
稀疏矩阵例子稀疏矩阵和二维矩阵转换思路代码实现注意,此处为了便于重复使用,将其封装成了两个静态方法。很不优雅的地方在于手动计算二维数组的行和列。需要注意的点是java中二维数组的length属性默认给出的是行的个数。public class SparseArray { public static void main(String[] args) { // 创建原始二维数组 // 0 表示无棋子 1 黑棋子 2 白棋子 int[][] chessArray1 = new int[原创 2021-09-01 16:15:29 · 172 阅读 · 0 评论 -
二叉树(Binary Tree)的建立与遍历——C语言实现
本文的写作目的在于巩固自己在数据结构和C语言方面的基础知识,提升写代码的基本功。本文的代码参考了浙大MOOC数据结构中的演示代码以及《大话数据结构》中的演示代码,因为运行没有结果显示加上发现自己对C语言指针的理解不到位,于是又参考了另外两个博主的代码。非常感谢浙大的何钦铭老师以及两位博主。其一参考简书博主EarthChen其二参考csdn博主men_wen一、运行环境简介编辑器:VSCode + MicroSoft原生C/C++插件;运行环境: MinGW ;常用指令: gcc mian.c原创 2020-05-11 17:36:34 · 929 阅读 · 0 评论