最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java8實(shí)現(xiàn)任意參數(shù)的鏈棧

 更新時(shí)間:2020年10月27日 17:12:50   作者:因吉  
這篇文章主要為大家詳細(xì)介紹了Java8實(shí)現(xiàn)任意參數(shù)的鏈棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java8實(shí)現(xiàn)任意參數(shù)的鏈棧,供大家參考,具體內(nèi)容如下

1、實(shí)現(xiàn)功能

1)push():入棧;
2)pop():出棧;
3)getSize():獲取棧大??;
4)display():展示棧。

以一下測(cè)試進(jìn)行特別說(shuō)明:

 /**
  * The main function.
 */
 public static void main(String[] args) {
  MyLinkedStack <Character> test = new MyLinkedStack<>();
  test.push('2');
  test.push('+');
  test.push('-');
  test.pop();
  test.push('(');
  test.display();
}

輸出如下,即輸出順序?yàn)闂m?、棧頂下一個(gè)…

The linked stack is:
[(, +, 2]

2、代碼

package DataStructure;

/**
 * @author: Inki
 * @email: inki.yinji@qq.com
 * @create: 2020 1026
 * @last_modify: 2020 1026
 */

public class MyLinkedStack <AnyType> {

 /**
  * Only used to store the head node.
  */
 private SingleNode<AnyType> head = new SingleNode(new Object());

 /**
  * The single linked list current size.
  */
 private int size = 0;

 /**
  * Push element to the end of the list.
  * @param:
  *  paraVal: The given value.
  */
 public void push(AnyType paraVal) {
  SingleNode <AnyType> tempNode = new SingleNode<>(paraVal);
  tempNode.next = head.next;
  head.next = tempNode;
  size++;
 }//Of push

 /**
  * Pop the last element.
  * @return:
  *  The popped value.
  */
 public AnyType pop(){

  if (size == 0) {
   throw new RuntimeException("The stack is empty.");
  }

  AnyType retVal = head.next.val;
  head.next = head.next.next;
  size--;
  return retVal;
 }//Of pop

 /**
  * Get the current size of the single linked list.
  * @return:
  *  The current size of the single linked list.
  */
 public int getSize() {
  return size;
 }//Of getSize

 /**
  * Display the single linked list.
  */
 public void display() {

  if (size == 0) {
   throw new RuntimeException("The stack is empty.");
  }//Of if

  System.out.print("The linked stack is:\n[");
  SingleNode <AnyType> tempNode = head;
  int i = 0;
  while (i++ < size - 1) {
   tempNode = tempNode.next;
   System.out.printf("%s, ", tempNode.val);
  }//Of while
  System.out.printf("%s]\n", tempNode.next.val);
 }//Of display

 /**
  * The main function.
  */
 public static void main(String[] args) {
  MyLinkedStack <Character> test = new MyLinkedStack<>();
  test.push('2');
  test.push('+');
  test.push('-');
  test.pop();
  test.push('(');
  test.display();
 }
}//Of class MyLinkedStack


class SingleNode <AnyType>{

 /**
  * The value.
  */
 AnyType val;

 /**
  * The next node.
  */
 SingleNode<AnyType> next;

 /**
  * The first constructor.
  * @param
  *  paraVal: The given value.
  */
 SingleNode (AnyType paraVal) {
  val = paraVal;
 }//The first constructor

}//Of class SingleNode

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

特克斯县| 越西县| 吴旗县| 和龙市| 广东省| 申扎县| 开远市| 衡水市| 新巴尔虎左旗| 禄丰县| 林州市| 怀宁县| 建湖县| 娱乐| 富平县| 漳浦县| 门源| 隆回县| 昌江| 常德市| 新民市| 鲁甸县| 铜山县| 西贡区| 慈溪市| 阆中市| 九龙城区| 湘乡市| 呼图壁县| 龙口市| 博罗县| 东乡| 巴彦县| 巫山县| 中宁县| 保定市| 建湖县| 永修县| 鹤壁市| 沛县| 临沭县|