陣列實現
public
class
stack
}//自定義線性棧
class
mystack
//初始化棧建構函式
public
mystack
(int begin)
//進棧
public
void
instack
(int e)
//元素e進棧,有效長度加1
array[size]
= e;
size++;}
//出棧
public
intoutstack()
//轉移棧頂元素,有效長度-1
int e = array[size -1]
; size--
;//棧容量至少為10,當 有效長度 < 棧容量一半 時,縮減棧容量(1/2縮小)
if(size < array.length /
2&& array.length >10)
//返回出棧元素
return e;
}//獲取棧頂元素
public
inttop()
//獲取棧內元素個數
public
intnumber()
//清空棧
public
void
clear()
//列印棧內元素
public
void
print()
else
else
} system.out.
println
(s);}}
//改變棧的容量
public
void
extend
(int e)
//新棧容器賦值給原棧
array = newarray;
}}
頭插法實現
public
class
linkstack
stack.
print()
;//彈棧3次並列印
for(
int i =
0;i <
3;i++
) stack.
print()
;//輸出當前棧頂元素
system.out.
println
(stack.
top())
;//列印當前棧內元素個數
stack.
number()
;//清空棧並列印
stack.
clear()
; stack.
print()
;}}class
mylinkstack
//節點類
private
class
node
public
node
(int e,node next)
}//進棧(頭插法)
public
void
inlinkstack
(int e)
//出棧(從棧頂釋放)
public
intoutlinkstack()
else
}//獲取棧頂元素
public
inttop()
獲取棧內元素個數
public
void
number()
//清空棧
public
void
clear()
//列印棧內元素
public
void
print()
else
else
} system.out.
println
(path);}
}}
單向線性鍊錶的實現
用c實現的單向線性鍊錶,支援追加,插入節點,刪除節點,清空,刪除匹配節點,鍊錶反轉,有序插入等操作。分為三個檔案list.h包含鍊錶結構和函式的宣告。list.cpp是各種函式的實現,test.cpp包含測試 list.h ifndef list h define list h include us...
單向鍊錶實現棧
首先我們要知道 棧 為何物 他是一種儲存資料的方法 有點類似子彈夾 擁有先進後出的特點 同時進棧與出棧都只能在一端進行.public inte ce mystack public class node public object getdate public void setdate object ...
Python使用list和單向鍊錶實現棧
class arrstack 使用list實現棧,第乙個元素為棧底,最後乙個元素為棧頂 def init self 初始化為空list self.items defstackin self,value 入棧 param value 入棧的值 return null defstackpop self ...