欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中使用數(shù)組實現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)實例

 更新時間:2015年01月15日 11:27:12   投稿:junjie  
這篇文章主要介紹了Java中使用數(shù)組實現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)實例,本文先是講解了實現(xiàn)棧至少應該包括以下幾個方法等知識,然后給出代碼實例,需要的朋友可以參考下

棧是Java語言中最重要的數(shù)據(jù)結(jié)構(gòu)之一,它的實現(xiàn),至少應該包括以下幾個方法:

1.pop() 出棧操作,彈出棧頂元素。
2.push(E e) 入棧操作
3.peek() 查看棧頂元素
4.isEmpty() 棧是否為空

另外,實現(xiàn)一個棧,還應該考慮到幾個問題:

1.棧的初始大小以及棧滿以后如何新增棧空間
2.對棧進行更新時需要進行同步

簡單示例,使用數(shù)組實現(xiàn)棧,代碼如下:

復制代碼 代碼如下:

public class Stack<E> { 

    // Java 不支持泛型數(shù)組,如需使用,請使用Java提供的容器 
    private Object[] stack; 

    // 棧的默認初始大小 
    private static final int INIT_SIZE = 2; 

    // 棧頂索引 
    private int index; 

    public Stack() { 
        stack = new Object[INIT_SIZE]; 
        index = -1; 
    } 

    /** 
     * 構(gòu)造方法 
     *  
     * @param initSize 
     *            棧的初始大小 
     */
    public Stack(int initSize) { 
        if (initSize < 0) { 
            throw new IllegalArgumentException(); 
        } 
        stack = new Object[initSize]; 
        index = -1; 
    } 

    /** 
     * 出棧操作 
     *  
     * @return 棧頂對象 
     */
    public synchronized E pop() { 
        if (!isEmpty()) { 
            E temp = peek(); 
            stack[index--] = null; 
            return temp; 
        } 
        return null; 
    } 

    /** 
     * 入棧操作 
     *  
     * @param obj 
     *            等待入棧的對象 
     */
    public synchronized void push(E obj) { 
        if (isFull()) { 
            Object[] temp = stack; 
            // 如果棧滿,則創(chuàng)建空間為當前??臻g兩倍的棧 
            stack = new Object[2 * stack.length]; 
            System.arraycopy(temp, 0, stack, 0, temp.length); 
        } 
        stack[++index] = obj; 
    } 

    /** 
     * 查看棧頂對象 
     *  
     * @return 棧頂對象 
     */
    public E peek() { 
        if (!isEmpty()) { 
            return (E) stack[index]; 
        } 
        return null; 
    } 

    /** 
     * 查看棧是否為空 
     *  
     * @return 如果棧為空返回true,否則返回false 
     */
    public boolean isEmpty() { 
        return index == -1; 
    } 

    /** 
     * 查看棧是否滿 
     *  
     * @return 如果棧滿返回true,否則返回false 
     */
    public boolean isFull() { 
        return index >= stack.length - 1; 
    } 
}

最后說明,Java中實現(xiàn)了棧(java.util.Stack)的數(shù)據(jù)結(jié)構(gòu),它是通過繼承Vector類實現(xiàn)的,一般情況下我們直接拿來用就行了。

相關(guān)文章

  • java對同一個文件進行讀寫操作方法

    java對同一個文件進行讀寫操作方法

    在本篇文章里我們給大家詳細講述了java對同一個文件進行讀寫操作的方法和知識點,需要的朋友們可以參考學習下。
    2018-10-10
  • java實現(xiàn)ATM取款項目

    java實現(xiàn)ATM取款項目

    這篇文章主要為大家詳細介紹了java實現(xiàn)ATM取款項目的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Springboot獲取文件內(nèi)容如何將MultipartFile轉(zhuǎn)File

    Springboot獲取文件內(nèi)容如何將MultipartFile轉(zhuǎn)File

    本文給大家介紹Springboot獲取文件內(nèi)容,將MultipartFile轉(zhuǎn)File方法,本文結(jié)合示例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-01-01
  • Java使用poi導出ppt文件的實現(xiàn)代碼

    Java使用poi導出ppt文件的實現(xiàn)代碼

    Apache POI 是用Java編寫的免費開源的跨平臺的 Java API,Apache POI提供API給Java對Microsoft Office格式檔案讀和寫的功能。本文給大家介紹Java使用poi導出ppt文件的實現(xiàn)代碼,需要的朋友參考下吧
    2021-06-06
  • java實現(xiàn)停車場系統(tǒng)

    java實現(xiàn)停車場系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)停車場系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源案例分析

    Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源案例分析

    這篇文章主要介紹了Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源,需要的朋友可以參考下
    2018-11-11
  • spring在IoC容器中裝配Bean詳解

    spring在IoC容器中裝配Bean詳解

    這篇文章主要介紹了spring在IoC容器中裝配Bean詳解,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Tomcat+Eclipse亂碼問題解決方法與步驟

    Tomcat+Eclipse亂碼問題解決方法與步驟

    亂碼問題是大家在日常開發(fā)過程中經(jīng)常會遇到的問題,由于各自環(huán)境的不同,解決起來也費時費力,本文主要介紹一般性亂碼問題的解決方法與步驟,開發(fā)工具采用Eclipse+Tomcat,統(tǒng)一設(shè)置項目編碼UTF-8為例,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • JDK13的新特性之AppCDS詳解

    JDK13的新特性之AppCDS詳解

    AppCDS的全稱是Application Class-Data Sharing。主要是用來在不同的JVM中共享Class-Data信息,從而提升應用程序的啟動速度。這篇文章主要介紹了JDK13的新特性:AppCDS詳解,需要的朋友可以參考下
    2020-05-05
  • Java實現(xiàn)短信發(fā)送驗證碼功能

    Java實現(xiàn)短信發(fā)送驗證碼功能

    這篇文章主要介紹了Java實現(xiàn)短信發(fā)送驗證碼功能,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2018-10-10

最新評論