为链接堆栈程序创建推送函数



这是我的链接堆栈程序的一些代码:

import java.util.NoSuchElementException;
class linkstack<T> {
   private class node {
      T value;
      node link;
   }
   private node top = null;
          ...

现在,我的推送函数头是这样的:

public void push (T value) {
      node temp = new node();
      temp.value =
 }

计划分配 temp 的值以等于在推送方法的参数中传递的值,但我不确定我是否可以这样做,因为我不确定"T"到底是什么?

我也写了一个弹出函数,这有什么意义吗?

public T pop() {
      if (empty()) {
         throw new NoSuchElementException ("linked_stack.pop");
      } else{
         node temp = top;
         temp = top.link;
         return temp.value;
      }
   }

你需要使用node的泛型类型,而不是原始类型,即:

 private class Node<T> {
     ...
   }
public void push (T value) {
      Node<T> temp = new Node();
      temp.value = value;
 }

有关泛型的简介,请查看本教程。 有关更高级的参考,请查看Anjelika Langer的Java Generics FAQ。

最新更新