#include <iostream>
using namespace std;
const int MAX_SIZE = 1024;
struct SeqStack {
int data[MAX_SIZE];
int size;
};
//初始化
SeqStack* Init_Stack() {
auto stack = new SeqStack;
stack->size = 0;
for (int i = 0; i < MAX_SIZE; i++) {
stack->data[i] = -1;
}
return stack;
}
//壓堆疊
void Push_Stack(SeqStack* stack, int val) {
if (stack == nullptr)
return;
if (stack->size == MAX_SIZE)
return;
stack->data[stack->size] = val;
stack->size++;
}
//回傳堆疊頂元素
int Top_Stack(SeqStack* stack) {
if (stack == nullptr)
return -1;
if (stack->size == 0)
return -1;
return stack->data[stack->size - 1];
}
//出堆疊
void Pop_Stack(SeqStack* stack) {
if (stack == nullptr)
return;
if (stack->size == 0)
return;
stack->size--;
}
//判斷是否為空
int IsEmpty(SeqStack* stack) {
if (stack->size == 0)
return 1;
if (stack == nullptr)
return -1;
return 0;
}
//回傳堆疊中元素個數
int Size_Stack(SeqStack* stack) {
if (stack == nullptr)
return -1;
return stack->size;
}
//清空堆疊
void Clean_Stack(SeqStack* stack) {
if(stack == nullptr)
return;
stack->size = 0;
}
//銷毀堆疊
void Free_Stack(SeqStack* stack) {
if (stack == nullptr)
return;
free(stack);
}
uj5u.com熱心網友回復:
size是空間大小嗎?那索引減1吧轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/268286.html
標籤:C++ 語言
上一篇:C語言鏈表規律插入問題
下一篇:華科 b站模擬課設 救救孩子吧
