1. 程式人生 > >宣告一個順序棧類

宣告一個順序棧類

<pre name="code" class="java">package DataStructureTest;

public class SeqStack<T> implements SStack<T> {

	private int top;//宣告一個棧頂元素下標
	private Object element[];
	
	public SeqStack(int size)
	{
		this.element=new Object[Math.abs(size)];
		this.top=-1;
		
	}
	
	public SeqStack(){
		this(64);
	}
	
	public boolean isEmpty() {
		
		return this.top==-1;
	}

	@Override
	public void push(T x) {
		if(x==null)
			return;
		if(this.top==this.element.length-1)
		{
			Object[] temp=this.element;
			element = new Object[this.element.length*2];
			for(int j=0;j<temp.length;j++)
				element[j]=temp[j];
		}
		
		top++;
		element[top]=x;
		
	}

	@Override
	public T pop() {
		
		return  this.top==-1?null:(T)this.element[top--];
		
	}

	@Override
	public T get() {
		// TODO 自動生成的方法存根
		return this.top==-1?null:(T)this.element[top];
	}
	
	

}


相關推薦

宣告一個順序

<pre name="code" class="java">package DataStructureTest; public class SeqStack<T> imple

資料結構實驗3:C++實現順序與鏈

                          

c++ 實現順序(初始化,入,退。讀頂元素以及順序輸出頂指標與中的元素

/* 定義順序棧類(初始化,入棧,退棧。讀棧頂元素以及順序輸出棧頂指標與棧中的元素 */ #include<iostream> using namespace std; // template <class T> class sq_Stack {

C++ 順序實現

//還不是很完善,應該在壓棧時若棧滿了自動擴大棧#include<iostream> using namespace std; #define MAXSIZE 100 typedef int ELETYPE; class Stack { private:

建立一個順序,實現的壓和出操作。

標頭檔案:  #ifndef seqstack_H  #define seqstack_H  const int stacksize=10;  class seqstack  {      public:          seqstack();          ~se

【資料結構 C描述】使用順序編制一個滿足下列要求的程式:對於輸入的任意一個非負十進位制數,列印輸出與其等值的二進位制數。

【資料結構 C描述】使用順序棧編制一個滿足下列要求的程式:對於輸入的任意一個非負十進位制數,列印輸出與其等值的二進位制數。 //main.cpp #include <iostream> #include <malloc.h> #include <stdl

4.2 宣告一個帶有精簡的建構函式或者屬性的

Java中,一個類可以宣告一個或多個建構函式。Kotlin也是相似的,但有一個額外的改變:它在主構造函(primary constructor),通常是主要的,簡潔的方式來初始化一個類並且被宣告在類的主體外部的) 和次要建構函式(secondary constr

與佇列-順序與鏈模板的實現(資料結構基礎 第3周)

這是用C++編寫的棧的類模板的實現,包括順序棧和鏈棧,並進行了簡單的測試。 程式碼中srrStack類和lnkStack類均繼承於Stack類, Stack類可以看成是棧的邏輯結構(ADT抽象資料型別,Abstract Data Type)。注意這裡實現是棧與

宣告一個Tree(樹),有成員ages(樹齡),成員函式grow(int years)用以對ages 加上years,showage( )用以顯示tree物件的ages值。在主函式中定義Tree

//宣告一個Tree(樹)類,有成員ages(樹齡),//成員函式grow(int years)用以對ages 加上years//,showage()用以顯示tree物件的ages值。//在主函式中定義Tree類物件,並呼叫成員函式(學生自行指定實引數#include<

Java中如何自定義一個

**本文是用java自定義個棧類,用來存放物件。可以選擇用ArrayList類來表示stack。 首先,我們需要建立一個數組列表來儲存棧中元素,然後需要判斷棧是否為空,元素個數返回棧頂元素,彈出棧

C++---如何在宣告一個常量?

需求:有時候需要在類定義中宣告一個常量,怎麼宣告呢? 常見錯誤用法: class Student {。。。    const int  Len=10;    char name[Len];  //錯誤

Hibernate使用JPA註解宣告一個PO

第一步:在hibernate.cfg.xml配置資料庫連線和連線池 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hiberna

一個簡單C順序的實現

僅用於記錄,加深理解的練習。 水平有限,不規範之處還請包涵指正。 只實現了初始化棧,進棧,出棧,列印資料功能。 #include<stdio.h> #include<stdlib.h> #define ADDSIZE 10 #

動態順序和執行緒安全的堆疊

1、動態順序棧 固定大小的棧的容量可能隨著引數數目的增加或者遞迴層數的增加而溢位,故此可用動態棧代替,實現思路較為簡單,每次元素入棧前判斷一下棧容量是否足夠,不夠的話增加容量,通過棧底指標移動。以下是參考程式碼: #ifndef DY_STACK_H_INCLUDED #

C++:順序實現約瑟夫問題_密碼不同

class josephus main clu 定義 void seq esp while //.h #pragma once#include <iostream>using namespace std;#define MAXSIZE 100 template

設計一個泛型orderedCollection

ble test println 一個 不為 move stat arrays this import java.util.Arrays; /** * 設計一個泛型類orderedCollection,它存儲的Comparable對象的集合(在數組中), * 以及該集合的當

怎麽使用jquery判斷一個元素是否含有一個指定的(class)

() pla jquer java 例子 add red tro lan 在jQuery中可以使用2種方法來判斷一個元素是否包含一個確定的類(class)。兩種方法有著相同的功能。2種方法如下: 1. is(‘.classname’) 2.

你能否成為一個工程師

你能否成為一個全棧工程師 如果你是有非常強的學習能力,又對嘗試新的事物非常熱心,那麽這個職業將會非常適合你。全棧開發是一個學習、實現、提高的過程。持續的工作將會給你帶來各種不同的視野,你可以將這些都應用在開發中。作為一個全棧開發工程師,為了解決問題,你需要去知道怎麽去開發,用哪種方法,怎麽樣去面對一個新

一個隊列的實現(比delphi自帶的速度快70倍)(線程安全版本)

initial unlock use for in 線程 self. private aps 自帶 unit sfContnrs; interface {$DEFINE MULTI_THREAD_QUEUE} //線程安全版本,如果不需要線程安全,請註釋掉此行代碼 {

數據結構--順序的實現

數制轉換 struct while 轉換 ktr -- eas 進制數 spa 最近在看嚴蔚敏的數據結構,以下是參照 http://blog.csdn.net/WLxinliang/article/details/52894338 手寫的順序棧的實現代碼: 1.頭文件定義