以下為「使用陣列實現多個連續棧」的示例:
1. 用c語言實現的版本
#include#include#define memory_size 100 /* 記憶體大小 */
#define max_stacks 11 /* 棧的個數最大值加1 */
typedef char element;
element memory[memory_size];
int top[max_stacks - 1];
int boundary[max_stacks];
/*初始化,將各個順序棧置空*/
void initial(int n)
boundary[n] = memory_size - 1;
}/* 進棧:向索引為i的棧壓入元素item */
void push(int i, element item)
memory[++top[i]] = item;
}/* 退棧:索引為i的棧彈出元素 */
element pop(int i)
return memory[top[i]--];
}void main()
執行結果如下圖所示:
資料結構之陣列模擬棧
棧的特點即先進後出,採用陣列模擬棧,實現棧的這一特性主要是靠定義乙個指標 索引 指標的初始位置指向的是 1 以下給出 package com.ebiz.stack author yhj create 2019 07 20 14 20 陣列模擬棧 public class arraystack 驗證棧...
陣列模擬棧資料結構
棧又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素。2 先進後出 後進先出 3 棧具有記憶功能 4 棧頂通常用 top 表示,棧底...
資料結構之陣列實現棧結構
include include int top int s 返回棧頂位置 int stack empty int s 判斷棧是否為空 int stack full int s 判斷棧是否已滿 void push int s,int x int pop int s return x int main ...