任何人都可以解释Java中的堆栈,队列,链表以及每个程序吗?



我是java的新手,除了java之外,我不知道任何其他语言 哎呀概念.我是新手,programming.so 对我来说很容易理解,任何人都可以解释Java中的堆栈,队列,链表以及每个程序吗?

堆栈是一种抽象数据类型或集合,在 Push 中,向集合中添加数据元素,而 Pop(从集合中删除数据元素)是对集合执行的主要操作。推送和弹出操作仅在堆栈的一端执行,称为"堆栈顶部"。

换句话说,堆栈可以简单地定义为后进先出(LIFO)数据结构,即在堆栈顶部添加的最后一个元素(In)应该是要从堆栈中删除的第一个元素(Out)。

// Demonstrate the Stack class.
import java.util.*;
class StackDemo {
static void showpush(Stack st, int a) {
st.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + st);
}
static void showpop(Stack st) {
System.out.print("pop -> ");
Integer a = (Integer) st.pop();
System.out.println(a);
System.out.println("stack: " + st);
}
public static void main(String args[]) {
Stack st = new Stack();
System.out.println("stack: " + st);
showpush(st, 42);
showpush(st, 66);
showpush(st, 99);
showpop(st);
showpop(st);
showpop(st);
try {
showpop(st);
} catch (EmptyStackException e) {
System.out.println("empty stack");
}
}
}

有关Stack的更多详细信息,您可以查看此官方链接

队列: 队列支持使用先进先出 (FIFO) 规则的插入和删除操作

有关更多详细信息:队列

链表: Java LinkedList 类使用双向链表来存储元素。它提供链接列表数据结构。它继承 AbstractList 类并实现 List 和 Deque 接口。 有关更多详细信息: 官方链接和另一个 此链接

Geeksforgeeks更适合初学者。

考虑从查看官方Java 平台文档开始:

叠:

堆栈类表示 对象。它通过五个操作扩展类 Vector,允许 要视为堆栈的向量。通常的推送和弹出操作是 提供了查看堆栈上顶部项目的方法,以及 测试堆栈是否为空的方法和搜索方法 项目的堆栈,并发现它离顶部有多远。

首次创建堆栈时,它不包含任何项目。

队列

设计用于在处理之前保存元素的集合。 除了基本的收集操作外,队列还提供额外的 插入、拔出和检查操作。这些中的每一个 方法以两种形式存在:一种形式在操作时引发异常 失败,另一个返回一个特殊值(空或假, 取决于操作)。插入操作的后一种形式 专为与容量受限队列一起使用而设计 实现;在大多数实现中,插入操作不能 失败

链接列表

列表和 Deque 接口的双向链表实现。 实现所有可选的列表操作,并允许所有元素 (包括空)。

所有操作都按预期执行 对于双向链表。索引到列表中的操作将 从开头或结尾遍历列表,以较近者为准 到指定的索引。

我已经实现了数组基本堆栈和队列。代码可以在 github 位置和 朱尼特

相关内容

  • 没有找到相关文章

最新更新