package com.hao.myrxjava;
/**
* 简单的一个链表栈实现;非堵塞的
*
* @author ZHANGHAOHAO
* @date 2017/5/10
*/
public class LinkStack<E> {
//声明节点
private class Node{
E e;
Node next;
public Node(E e, Node next) {
this.e = e;
this.next = next;
}
}
private int length;
private Node top;
private int number;
private int max;
public LinkStack(int max) {
top = null;
this.max = max;
number = 0;
}
public boolean isEmpty() {
return top == null;
}
public boolean isFull() {
return number == max;
}
//入栈
public void push(E e) {
if (isFull())
throw new IllegalArgumentException("LinkStack is full");
top = new Node(e, top);
number++;
}
//出栈,但不删除元素
public Node peek() {
if (isEmpty())
throw new NullPointerException("is empty");
return top;
}
//出栈,并删除元素
public Node pop() {
if (isEmpty())
throw new NullPointerException("is empty");
Node node = top;
top = node.next;
node.next = null;
number--;
return node;
}
}
相关推荐
UWB灵犀遥控器方案介绍
UWB灵犀指向遥控器的技术原理和方案介绍
链接共享平台LinkStack
LinkStack 是 Linktree 的开源替代替代方案,是一个高度可定制的链接共享平台,具有直观、易于使用的用户界面。
MobaXterm结合SSH密钥对安全连接阿里云ECS的实战教程
本文详细介绍了如何使用MobaXterm结合SSH密钥对安全连接阿里云ECS的实战教程。通过对比传统密码登录的风险,重点讲解了密钥对的生成与配置、阿里云控制台的密钥绑定技巧,以及MobaXterm的高级设置和故障排查方法,帮助用户实现高效、安全的远程连接。
LinkStack:优雅的外观,强大的功能,完美地融合了书签管理与分享
官方地址:https://linkstack.org/github地址:https://github.com/LinkStackOrg/LinkStack效果图博主地址:http://linkstack.xiuji.mynatapp.ccLinkStack是一个独特的平台,提供了一个高效的解决方案,用于在线管理和分享链接。我们的平台提供了一个类似Linktree的网站,允许用户克服社交媒体平台只能添加一个链接的限制。
IBM X3650 M4做raid阵列
步骤1.开机出现此界面,同时按ctrl键和h键,进入IBM X3650 M4配置raid界面。 【注】不知道是不是因为我的服务器长期闲置,按键ctrl键和h键居然无法进入raid配置界面。这时候,我们可以进bios同样可以进入raid配置界面。如果你按ctrl键和h键就可以直接进入raid配置界面,那么请忽略此段,直接看步骤2 开机,按键F1,选中system setting ,接着选中Adapters and UEFI Drivers ...
Depth Anything 3实战:如何用DINOv2 Transformer一键生成3D高斯点云?
本文详细介绍了Depth Anything 3(DA3)模型如何利用DINOv2 Transformer架构,实现从单张或多视角图像一键生成高质量3D高斯点云。DA3通过统一的深度-射线表示和自适应注意力机制,简化了传统复杂的3D重建流程,并可直接微调用于3D高斯渲染,为图形学、CV和内容创作领域提供了高效的端到端解决方案。
linkstack头文件 c语言,链式栈的基本操作——LinkStack(C语言版)
#include "stdafx.h"#include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status;typedef int SElemType; /* SElemType类型根据实际情况而定,这里假设为int *//* 链栈结...
国网DLT698.45协议——采集系统、数据交换(三)
物理层规定了通信单元或其他终端设备与多功能电表的通信接口,接口的物理与电气特性。常见的物理层传输方式有对于RS485、红外、载波通信等通信信道。将数据包装成可传输的帧格式。1、根据通信配置参数完成端口的初始化配置,通信状态初始化为准备接收状态,初始化相关计数器及缓冲区指针。2、链路层及控制子模块负责通信数据的收发控制,各类超时问题的处理。无通信数据接收时,定时初始化通信端口。3、完成协议帧的解析及应答。
linkstack.h
#pragma once #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 typedef int SElemType; //链栈的存储结构 typedef struct StackNode { SElemType data; struct StackNode *next; }StackNode, *LinkStack;//StackNode和LinkStack是不同名字的同一指针类型; .
从零开始学习AI人工智能本体论:概念与实战
本文旨在为初学者提供一个全面而易于理解的人工智能本体论入门指南。我们将覆盖从基本概念到实际应用的全过程,帮助读者理解本体论在AI系统中的核心作用。核心概念与联系:介绍本体论的基本概念和原理核心算法与操作步骤:详细讲解本体构建和推理方法项目实战:通过实际案例展示本体论的应用实际应用场景:探讨本体论在不同领域的应用未来发展趋势:展望本体论在AI领域的前景本体论(Ontology): 在AI中,指对特定领域概念及其关系的明确形式化描述。
一篇文章带你搞定数学建模里的主成分分析(05年水质问题示例应用讲解含代码)
文章目录一、题目分析二、原理公式三、MATLAB实现某一地区的主成分分析四、MATLAB 实现所有地区28个月的综合分析五、注意 一、题目分析 对长江近两年多的水质情况做出定量的综合评价,并分析各地区水质的污染状况 考虑到各指标之间可能存在一定的相关性,选用主成分分析法对长江流域主要城市水质检测报告进行分析,选取主成分,并把主成分得分按照方差贡献率加权求和,得到每个地区的污染综合评价指数,进而可以计算每个月长江流域的污染综合评价指数,对平均综合评价指数进行排序 二、原理公式 根据主成分分析的方法,分析长江沿
链栈的实现LinkStack
难点:java中没有指针,只有引用,理解并合理运用引用 一、链栈的算法设计要求和步骤: 1、链栈是栈的实现形式之一:必须满足栈的后入先出特点 2、设计一个内部类作为链上的每个节点(节点类) 3、每个节点需要保存之前一个节点(nodenext)的引用(地址)和当前的元素值(value) 4、链栈类中只需保存栈顶的节点地址(引用),和单链表的长度 二、基本操作 插入(push...
【AI黑话日日新】什么是AI Infra?
是支撑AI模型开发、训练、推理、部署与规模化运营的,是连接底层算力与上层AI应用的“数字基建”。没有高效的AI Infra,大模型训练、推理与落地都无法高效实现。
数据结构之C++实现链栈(LinkStack)(无主函数)
#include<iostream> using namespace std; class LinkNode { public: LinkNode(int v):m_value(v),m_next(NULL){} LinkNode():m_next(NULL){} int m_value; LinkNode *m_next; }; class LinkStack { publ...
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
链式栈LinkStack的实现
上一篇是讲解StaticStack的实现,但是有一个的问题: 由于顺序栈内部实现是采用原生数组来实现的,当存储的元素为类类型时,StaticStack 的对象在创建时,会多次调用元素类型的构造函数,这样就会影响效率。这时候就需要设计链式栈。 链式栈的设计 (1)类模板, 抽象父类 Stack 的直接子类; (2)在内部组合使用 Linklist 类 ,实现栈的链式存储; (3...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
LinkStack 链表实现栈 C&C++
LinkStack 链表实现栈 C&C++ #include<stdio.h> #include<iostream> typedef struct LinkStack { int data; LinkStack* next; void Init(LinkStack*& Ls); void Pop(LinkStack*& Ls, int&...
栈的的链式实例LinkStack实现
1.#include <stdio.h>#include <malloc.h>#include "LinkList.h"typedef struct _tag_LinkList{ LinkListNode header; int length;} TLinkList;LinkList* LinkList_Create() // O(1){ TLinkLis...
21、链式栈(LinkStack)的实现与多场景应用
本文介绍了链式栈(LinkStack)的实现与应用。链式栈通过链表节点存储数据,避免了顺序栈的容量限制,核心结构包括栈节点和管理结构。文章详细展示了链式栈的基本操作实现,包括创建栈、入栈、出栈等,并重点说明了内存管理和指针操作。随后,通过三个实际应用场景展示了链式栈的灵活性:1) 括号匹配检查工具,检查代码中的括号匹配并定位错误;2) 简单表达式计算器,使用双栈结构计算算术表达式;3) 人员信息管理,展示栈的基本数据存储能力。每个应用都适配了不同的DATATYPE定义,体现了链式栈的多功能性。
C语言实现链式栈(LinkStack)
使用单链表来实现,push,pop均在链表头部进行 linkStack.h #ifndef LINK_STACK_H #define LINK_STACK_H #include <stdlib.h> #include <stdio.h> #include <memory.h> #include <stdbool.h> typedef void Li...
栈的链性表的c语言实现方式 linkstack.h 和 linkstack.c
.h 文件#ifndef _LINK_STACK_H_ #define _LINK_STACK_H_ #include <stdio.h> #include <stdlib.h> #include <string.h> //用线性表的链式存储模拟栈的链式存储,在头部插入删除元素不会涉及大量元素移动 typedef void Stack;//把业务节点弄到底层,只需传入业务数据指针,在底层函数中 //
栈Stack (线性表实现)
1.栈是一种特殊的线性表 linklist.h文件 #ifndef _MYLINKLIST_H_ #define _MYLINKLIST_H_ typedef void LinkList; /* typedef struct _tag_LinkListNode LinkListNode; struct _tag_LinkListNode { LinkListNode* next; }; ...
c语言链式栈课程设计,C语言实现链式栈(LinkStack)
使用单链表来实现,push,pop均在链表头部进行linkStack.h#ifndef LINK_STACK_H#define LINK_STACK_H#include #include #include #include typedef void LinkStack;LinkStack* LinkStack_Create();void LinkStack_Destroy(LinkStack* s...
c语言实现链栈的程序,C语言实现链式栈(LinkStack)
使用单链表来实现,push,pop均在链表头部进行linkStack.h#ifndef LINK_STACK_H#define LINK_STACK_H#include #include #include #include typedef void LinkStack;LinkStack* LinkStack_Create();void LinkStack_Destroy(LinkStack* s...
用链表和数组分别实现栈结构
class Stack: NSObject { var count: Int = 0 private var array: [Any] = [Any]() func push(element: Any) -> Bool { self.array.append(element) count += 1 return true } func pop() -> Any? { if.
数据结构四:栈的两种形式LinkStack和SeqStack用线性表的实现方式,以及SeqQueue和LinkQueue的实现
之前写过两篇对于SeqList和LinkList的底层封装库,在阅读这篇博文前还是仔细看一下之前的底层库封装实现,因为栈的结构是一种特殊的线性表,本文探讨栈的实现由之前的线型库实现的,实践是检验真理的唯一标准,请对我的线性链表库函数有足够的信心吧!Just Like!Just Do IT !!! SeqStack的实现方式: #ifndef MY_SeqSt
数据结构--Java版(栈的方法实现)
Java版本数据结构---关于栈的方法实现
3898



被折叠的 条评论
为什么被折叠?



