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

java 數(shù)據(jù)結(jié)構(gòu)中棧和隊(duì)列的實(shí)例詳解

 更新時(shí)間:2017年09月27日 09:59:06   作者:皮蛋小粥  
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)中棧和隊(duì)列的實(shí)例詳解的相關(guān)資料,主要使用數(shù)組與線性表的方法來實(shí)現(xiàn),需要的朋友可以參考下

java 數(shù)據(jù)結(jié)構(gòu)中棧和隊(duì)列的實(shí)例詳解

棧和隊(duì)列是兩種重要的線性數(shù)據(jù)結(jié)構(gòu),都是在一個(gè)特定的范圍的存儲(chǔ)單元中的存儲(chǔ)數(shù)據(jù)。與線性表相比,它們的插入和刪除操作收到更多的約束和限定,又被稱為限定性的線性表結(jié)構(gòu)。棧是先進(jìn)后出FILO,隊(duì)列是先進(jìn)先出FIFO,但是有的數(shù)據(jù)結(jié)構(gòu)按照一定的條件排隊(duì)數(shù)據(jù)的隊(duì)列,這時(shí)候的隊(duì)列屬于特殊隊(duì)列,不一定按照上面的原則。

實(shí)現(xiàn)棧:采用數(shù)組和鏈表兩種方法來實(shí)現(xiàn)棧

鏈表方法

package com.cl.content01;
/*
 * 使用鏈表來實(shí)現(xiàn)棧
 */
public class Stack<E> {
  Node<E> top=null;
  
  public boolean isEmpty(){
 return top==null;
  }
  /*
  * 出棧
  */
  public void push(E data){
 Node<E> nextNode=new Node<E>(data);
 nextNode.next=top;
 top=nextNode;
  }
  /*
  * 出棧
  */
  public E pop(){
 if(this.isEmpty()){
 return null;
 }
 E data =top.datas;
 top=top.next;
 return data;
  }
}
/*
 * 鏈表
 */
class Node<E>{
Node<E> next=null;
E datas;
public Node(E datas){
this.datas=datas;
}
}

實(shí)現(xiàn)隊(duì)列:同棧一樣

鏈表方法:

package com.cl.content01;


public class MyQueue<E> {
  private Node<E> head=null;
  private Node<E> tail=null;
  public boolean isEmpty(){
  return head==null;
  }
  public void put(E data){
  Node<E> newNode=new Node<E>(data);
  if(head==null&&tail==null)
  head=tail=newNode;
  else
  tail.next=newNode;
    tail=newNode;
  }
  public E pop(){
  if(this.isEmpty())
  return null;
  E data=head.data;
  head=head.next;
  return data;
  }
  public int size(){
  int n=0;
  Node<E> t=head;
  while(t!=null){
  n++;
  t=t.next;
  }
  return n;
  }
  public static void main(String[] args) {
MyQueue<Integer> q=new MyQueue<Integer>();
q.put(1);q.put(3);q.put(2);
System.out.println(q.pop());
System.out.println(q.size());
System.out.println(q.pop());
}
}
class Node<E>{
Node<E> next=null;
E data;
public Node(E data){
this.data=data;
}
}

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望通過本能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java實(shí)例講解反射機(jī)制是怎么一回事

    Java實(shí)例講解反射機(jī)制是怎么一回事

    Java的反射(reflection)機(jī)制是指在程序的運(yùn)行狀態(tài)中,可以構(gòu)造任意一個(gè)類的對(duì)象,可以了解任意一個(gè)對(duì)象所屬的類,可以了解任意一個(gè)類的成員變量和方法,可以調(diào)用任意一個(gè)對(duì)象的屬性和方法
    2022-03-03
  • SpringBoot如何利用Twilio?Verify發(fā)送驗(yàn)證碼短信

    SpringBoot如何利用Twilio?Verify發(fā)送驗(yàn)證碼短信

    Twilio提供了一個(gè)名為?Twilio?Verify?的服務(wù),專門用于處理驗(yàn)證碼的發(fā)送和驗(yàn)證,下面我們就來看看如何使用Twilio?Verify實(shí)現(xiàn)發(fā)送驗(yàn)證碼短信吧
    2025-03-03
  • Java數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)之循環(huán)鏈表

    Java數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)之循環(huán)鏈表

    循環(huán)鏈表是另一種形式的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。它的特點(diǎn)是表中最后一個(gè)結(jié)點(diǎn)的指針域指向頭結(jié)點(diǎn),整個(gè)鏈表形成一個(gè)環(huán)。本文將為大家詳細(xì)介紹一下循環(huán)鏈表的特點(diǎn)與使用,需要的可以了解一下
    2021-12-12
  • IDEA之項(xiàng)目run按鈕為灰色,無法運(yùn)行問題

    IDEA之項(xiàng)目run按鈕為灰色,無法運(yùn)行問題

    這篇文章主要介紹了IDEA之項(xiàng)目run按鈕為灰色,無法運(yùn)行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java圖像處理教程之正片疊底效果的實(shí)現(xiàn)

    Java圖像處理教程之正片疊底效果的實(shí)現(xiàn)

    正片疊底效果是我們平時(shí)在Photoshop中會(huì)見到的一種效果,下面這篇文章主要給大家介紹了關(guān)于利用Java如何實(shí)現(xiàn)正片疊底的效果,分享出來供大家參考學(xué)習(xí),文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友可以參考借鑒,下面來一起看看詳細(xì)的介紹吧。
    2017-09-09
  • Java中實(shí)現(xiàn) SHA-256加密的兩種方式

    Java中實(shí)現(xiàn) SHA-256加密的兩種方式

    這篇文章主要介紹了Java中實(shí)現(xiàn) SHA-256加密的兩種方式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • Java字符串編碼解碼性能提升的技巧分享

    Java字符串編碼解碼性能提升的技巧分享

    這篇文章主要是和大家分享幾個(gè)Java中提升字符串編碼解碼性能的小技巧,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的幫助,需要的可以參考一下
    2022-05-05
  • 解決Feign異步調(diào)用丟失上下文問題

    解決Feign異步調(diào)用丟失上下文問題

    在微服務(wù)中使用Feign調(diào)用時(shí),若需要攜帶登錄狀態(tài)的Cookie信息,通常會(huì)使用攔截器,但在異步調(diào)用(如order服務(wù)異步調(diào)用會(huì)員服務(wù)和購物車服務(wù))時(shí),攔截器可能無法獲取上下文信息,導(dǎo)致異常,解決方法是將RequestContextHolder的數(shù)據(jù)同步到新開啟的線程中
    2024-11-11
  • SpringBoot結(jié)合JSR303對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)的示例代碼

    SpringBoot結(jié)合JSR303對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)的示例代碼

    這篇文章主要介紹了SpringBoot結(jié)合JSR303對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring Cloud Config RSA簡(jiǎn)介及使用RSA加密配置文件的方法

    Spring Cloud Config RSA簡(jiǎn)介及使用RSA加密配置文件的方法

    Spring Cloud 為開發(fā)人員提供了一系列的工具來快速構(gòu)建分布式系統(tǒng)的通用模型 。本文重點(diǎn)給大家介紹Spring Cloud Config RSA簡(jiǎn)介及使用RSA加密配置文件的方法,感興趣的朋友跟隨腳步之家小編一起學(xué)習(xí)吧
    2018-05-05

最新評(píng)論

绵阳市| 开平市| 凌海市| 长岛县| 宜良县| 马尔康县| 从化市| 乐至县| 达拉特旗| 麻江县| 渝北区| 长岛县| 光山县| 甘洛县| 乌拉特前旗| 永德县| 宣武区| 吴川市| 景谷| 沅江市| 崇州市| 漳浦县| 巴彦县| 禄劝| 密山市| 汤阴县| 文山县| 河东区| 府谷县| 柘城县| 尼木县| 昌乐县| 裕民县| 崇文区| 镇江市| 信宜市| 额济纳旗| 舟曲县| 揭阳市| 临颍县| 平果县|