-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSqStack.cpp
63 lines (57 loc) · 860 Bytes
/
SqStack.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// Created by katie on 2022/11/2.
//
#include "SqStack.h"
#include <stdlib.h>
/* 创建栈 */
SqStack *InitStack()
{
SqStack *S;
S = (SqStack *)malloc(sizeof(*S));
S->top = -1;
return S;
}
/* 入栈 */
bool Push(SqStack *S, double x)
{
if(S->top==MAX_LEN-1)
{
return false;
}
S->top=S->top+1;
S->data[S->top]=x;
return true;
}
/* 出栈 */
bool Pop(SqStack *S, double *x)
{
if(S->top==-1)
{
return false;
}
*x=S->data[S->top];
S->top=S->top-1;
return true;
}
/* 获得栈顶值 */
bool GetTop(SqStack *S, double *x)
{
if(S->top==-1)
{
return false;
}
*x=S->data[S->top];
return true;
}
/* 判断栈是否为空 */
bool IsStackEmpty(SqStack *S)
{
if(S->top==-1)
{
return true;
}
else
{
return false;
}
}