Java实现静态栈和动态栈及其相关操作
栈介绍栈这个东西,也没啥,说白了就是先进后出(LIFO, Last In First Out)的一种数据结构,主要分为静态栈和动态栈,静态栈一般由数组实现,而动态栈则通过链表实现,本文将演示两种栈的创建及其相关操作。本文仅为个人学习的记录,仅供参考。相关操作介绍元素的入栈元素的出栈返回栈的长度判断是否为空栈栈的生成栈的清空Java实现静态栈package stack; public cla...
栈介绍栈这个东西,也没啥,说白了就是先进后出(LIFO, Last In First Out)的一种数据结构,主要分为静态栈和动态栈,静态栈一般由数组实现,而动态栈则通过链表实现,本文将演示两种栈的创建及其相关操作。本文仅为个人学习的记录,仅供参考。相关操作介绍元素的入栈元素的出栈返回栈的长度判断是否为空栈栈的生成栈的清空Java实现静态栈package stack; public cla...
双向链表介绍双向链表是链表的一种,其每个数据节点存在两个指针,分别指向前一个节点和后一个节点,其操作与单向链表类似。本文仅为个人学习的记录,仅供参考。相关操作介绍本文主要实现以下操作:链表的生成判断链表是否为空链表的清空节点的插入头插法尾插法节点的删除返回第i个结点返回链表的节点个数根据给定值,返回该值在链表出现的第一个位置Java实现节点类package linklist; public...
单向链表介绍单向链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素,其节点主要由元素和指向下一节点的指针组成。本文仅为个人学习的记录,仅供参考。相关操作介绍本文主要实现以下操作:链表的生成判断链表是否为空链表的清空节点的插入头插法尾插法节点的删除返回第i个结点返回链表的节点个数根据给定值,返回该值在链表出现的第一个位置代码节点类package linklist; ...
在之前的文章:排序算法——冒泡排序 中,我们描述了传统冒泡排序的过程及其实现,那么,有没有可以改进的地方呢,肯定是有的。假如在数组本身就已经排序好的情况下,或者经过一定的循环之后数组已经被排好了,此时接下来的循环就是在浪费时间,那么如何去解决过程这里引入一个变量isChange记录是否发生交换,如果未发生交换,说明数组已经被排好,此时即可结束循环。具体实现过程看下面代码,理解起来并不难。Ja...
很多时候,在winform项目中,为了实现现代化的UI,我们通常会把窗体设置为无边框,然后使用Panel绘制窗体,此时则需要实现拖拽Panel即可拖拽窗体,这里记录一个我用了很久的工具类。using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.T...