数据结构,顺序栈基本运算算法

img

img


为什么进栈是public void push(E, e)
而出栈是public pop(E,e)
此时为啥不用void声明呢

这个就是你对void不太理解了,可以详细看看书上的介绍。
网上给你收集了一下资料,是这样的:
进栈(push)和出栈(pop)是栈(stack)数据结构中的两个基本操作。这两个操作的方法声明中使用 voidE 的区别是因为它们在功能和返回值上有所不同。

  1. 进栈(push)操作:

    • 方法声明:public void push(E e)
    • 功能:将元素 e 推入栈中,将其放置在栈顶。
    • 返回值:由于进栈操作只需要将元素推入栈中,并没有返回任何值,所以使用 void 来表示没有返回值。
  2. 出栈(pop)操作:

    • 方法声明:public E pop()
    • 功能:从栈顶弹出并返回栈顶的元素。
    • 返回值:出栈操作需要返回栈顶的元素作为结果,所以使用泛型类型 E 来表示返回值的类型。通过声明 public E pop(),表示出栈操作会返回一个类型为 E 的元素。

使用泛型类型 E 可以使栈数据结构更加通用和灵活,可以适用于不同类型的元素。当调用进栈操作时,我们只需传入要推入栈中的元素作为参数,而无需获取返回值;而当调用出栈操作时,我们可以接收返回的栈顶元素并进行后续操作。

因此,进栈和出栈方法的声明中使用 voidE 的不同,是因为它们在功能和返回值上的不同需求。

方法名字pushpop 不是随便起的。(当然随便起一个方法名也是可以的)
栈数据结构的特点就是。LIFO ,后进先出。只能对栈顶元素进行操作。 push方法的作用就是接收一个入参,把入参放入栈顶。
pop方法的作用就是将栈顶元素,取出来。 push对应栈,pop对应出栈。