实现栈类Stack

This commit is contained in:
2024-10-23 20:59:19 +08:00
parent 6fc9ca0e42
commit 935832dbe8
4 changed files with 79 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
cmake_minimum_required(VERSION 3.29)
project(homework3)
set(CMAKE_CXX_STANDARD 20)
add_executable(test1
Stack.h
Stack.cpp
test1.cpp)
+41
View File
@@ -0,0 +1,41 @@
#include "Stack.h"
#include<iostream>
using namespace std;
bool isEmpty(stack &s) {
if (s.top == -1) {
return true;
}
return false;
}
bool isFull(stack &s) {
if (s.top == MAX_SIZE) {
return true;
}
return false;
}
void initStack(stack &s) {
s.top = -1;
}
void push(stack &s, int e) {
if (isFull(s)) {
cout << "此栈已满" << endl;
return;
}
s.top++;
s.data[s.top] = e;
}
int pop(stack &s) {
if (isEmpty(s)) {
cout << "此栈为空" << endl;
return NULL;
}
int e = s.data[s.top];
return e;
}
+21
View File
@@ -0,0 +1,21 @@
#ifndef STACK_H
#define STACK_H
#define MAX_SIZE 100
typedef struct stack {
int data[MAX_SIZE];
int top;
} stack;
bool isEmpty(stack &s);
bool isFull(stack &s);
void initStack(stack &s);
void push(stack &s, int e);
int pop(stack &s);
#endif //STACK_H
+8
View File
@@ -0,0 +1,8 @@
#include"Stack.h"
#include<iostream>
using namespace std;
int main() {
return 0;
}