順序棧和鏈式棧

2021-06-16 07:52:53 字數 1610 閱讀 5623

順序棧

採用順序儲存結構的棧

push()、pop()、peek()方法的時間複雜度為o(1),當需要擴充棧容量時push()方法的時間複雜度為o(n)

package com.lzw.demo.stacktest;

public inte***ce sstack

package com.lzw.demo.stacktest;

/**

* title: 順序棧

* description: 順序棧類,實現棧介面

* @author mr lv

* @date 2011-11-26

*/public class seqstackimplements sstack

/*** 構造預設容量的空棧

*/public seqstack()

/*** 判斷棧是否為空,若為空返回true

*/public boolean isempty()

/*** 取出棧頂元素,未出棧,若棧為空返回null

*/public t peek()

/*** 出棧,返回棧頂元素,若棧為空返回null

*/public t pop()

/*** 元素x入棧,空物件不能入棧

*/public void push(t x)

}

控制台資訊:

鏈式棧

採用鏈式儲存結構的棧

push()、pop()、peek()方法的時間複雜度為o(1)

package com.lzw.demo.stacktest;

/** * title : 單鏈錶類

* @author lv

* * @param */

public class node

public node()

}

package com.lzw.demo.stacktest;

/**

* title: 鏈式棧

* description: 鏈式棧類,實現棧介面

* @author mr lv

* @date 2011-11-26

*/public class linkedstackimplements sstack

/*** 判斷棧是否為空,若為空返回true

*/public boolean isempty()

/*** 取出棧頂元素,未出棧,若棧為空返回null

*/public t peek()

/*** 出棧,返回棧頂元素,若棧為空返回null

*/public t pop()

/*** 元素x入棧,空物件不能入棧

*/public void push(t x)

}

package com.lzw.demo.stacktest;

public class lzwcode

}

控制台資訊:

順序棧和鏈式棧

相信大家對棧都不陌生,棧作為一種基礎的資料結構,在很多地方都會用到,在這裡整理一下順序棧和鏈式棧的一些基礎操作。pragma onc define max size 10 class seqstack seqstack 判斷棧滿 bool full 判斷棧空 bool empty 入棧 void p...

棧 棧 鏈式棧,順序棧,共享棧

棧也是一種線性表結構,只不過棧的操作是受限的,它的特點就是在棧頂方向新增新的元素,且刪除元素也只能從棧頂方向刪除。因此棧是一種lifo 後進先出 特性的資料結構。壓棧 新的元素放入棧的操作。出棧 從棧中移除乙個元素的操作。因為棧是一種線性結構,所以可以通過前面所學的鍊錶和順序表作為內部實現。我們可以...

順序棧與鏈式棧

棧 邏輯結構 限制為只有乙個埠進出元素,就導致先進後出和特性。順序棧 容量在限 鏈式棧 可以無限容量 一般常用於,表示式解析,記憶體管理 函式的呼叫提供支援 順序棧 include include include define type int typedef struct stack stack ...