資料結構示例之陣列模擬多棧實現

2021-07-24 04:34:30 字數 699 閱讀 6467

以下為「使用陣列實現多個連續棧」的示例:

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 ...