設計:
1、該陣列儲存物件型別在例項化是才確定-----泛型
2、陣列的索引0是棧底
3、建立乙個正整數變數top ----是棧頂元素否後的索引號
4、建立乙個棧的介面----定義如下函式:
**實現:
介面類:stackadt
public inte***ce stackadt
實現類:arraystack
/**
* 用陣列建立棧
* * @author administrator
* * @param */
public class arraystackimplements stackadt
/*** 指定容量
* * @param initcapacity
*/@suppresswarnings("unchecked")
public arraystack(int initcapacity)
@override
public void push(t t)
stack[top] = t;
top++;
} /**
* 為陣列擴容,實際就是 新建乙個陣列在將原來資料進行複製
*/private void expandcapacity()
@override
public t pop() throws emptycollectionexception
t result= stack[top - 1];
stack[top-1]=null;//彈出的值設定為null
top--;//減少top計數器
return result;
} @override
public t peek() throws emptycollectionexception
return stack[top - 1];
} @override
public boolean isempty()
return false;
} @override
public int size()
/*** 測試
* @param args
*/public static void main(string args) catch (emptycollectionexception e)
}}
異常類:emptycollectionexception
public class emptycollectionexception extends exception
}
用陣列實現棧
用陣列實現棧,設定三個屬性 1 maxsize 用來記錄這個陣列實現的棧能存放多少個資料 2 long stackarray 定義乙個陣列棧 3 top 記錄棧頂 方法有 1 有參建構函式,建立乙個棧,引數是棧的大小 2 push方法,壓入乙個數字 3 pop方法,彈出棧頂的乙個數字 4 peek方...
用陣列實現棧
用陣列表示棧 選擇用陣列表示棧內容必須預先估計棧的最大容量。在j a中,陣列一旦建立,其大小是無法改變的,而陣列設定過大可能會浪費大量記憶體,設定過小又可能會溢位。所以我們希望能夠動態調整陣列a i 的大小,使得它既足以儲存所有元素,又不至於浪費過多的空間。首先,實現乙個方法將棧移動到另乙個大小不同...
java用陣列實現棧
棧是一種先進後出的資料結果 只能在一端 稱為棧頂 top 對資料項進行插入和刪除。stacktest package ch04 public class stacktest system.out.println isfull stack.isfull while stack.isempty clas...