基礎知識:
1、在非空棧中,top指標始終指向棧頂元素的下乙個位置
2、結點進棧:先將資料元素儲存在棧頂(top所指的當前位置),然後執行top+1,時top指向棧頂的下乙個位置
3、結點出棧:先執行top-1使top指向棧頂元素的儲存位置,然後將棧頂元素取出
4、判棧空/滿:(棧頂指標top 棧底指標base 棧的儲存空間stacksize)
棧空:top==base 指標指向同一位置
棧滿:top-base>=stacksize
5、出棧與取棧的區別:
出棧操作改變棧頂指標top的位置,取棧不需要改變
介面類istack
public inte***ce istack
實現類stack
public class stackimplements istack
public void init(int initsize)
} //判棧空
public boolean isempty()
//判棧滿
public boolean isfull()
//壓棧(元素進棧)
public void push(object e) else
} //得到棧頂元素(不用出棧)
public object gettop() else
return topdata;
} //彈棧(元素出棧)
public object pop() else
return topdata;
} //找到指定位置的元素
public object getindexdata(int index)
while(!isempty())
top--;
} system.out.println("第"+index+"位的元素位"+indexdata);
return indexdata;
}//遍歷棧
public void print() }
public static void main(string args)
*/system.out.println(s.isempty());}}
輸出
資料結構之棧的基本操作
棧的結構型別,和基本操作如下 typedef struct stack,st void initstack stack s 初始化棧 void destroystack stack s 銷毀棧 void push stack st,type e 插入元素 type pop stack st 彈出棧頂...
資料結構的鏈棧基本操作
本程式主要是實現 建立空棧 進棧 出棧 清空棧 判空 取棧頂元素 取棧底元素 獲取棧元素長度 銷毀 include include include linkstack.h int main void pushstack mystack,100 pushstack mystack,200 pushst...
資料結構 順序棧的基本操作
順序棧是指利用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底到 棧頂的資料元素,同時附設指標top指示棧頂元素在順序棧中的位置。由於c語言中陣列的下標是從0開始的,通常習慣的做法是 以top 1 表示空棧。順序棧的定義如下 define maxsize 100 define ele...