📄 track.txt
字号:
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct
{
char elem[MAXSIZE];
int top;
}SqStack;
void InitStack(SqStack *s)
{
s->top = 0;
}
int Empty_Sq(SqStack *s)
{
return (s->top == 0);
}
int Push_Sq(SqStack *s, char c)
{
if (s->top == MAXSIZE) return 0;
s->elem[s->top] = c;
s->top++;
printf("%c 成功进栈\n", c);
return 1;
}
int Pop_Sq(SqStack *s, char *y) //出栈操作,将top所指向的元素的下一位置的值保存在*y里
{
if(s->top == 0)
{
printf("栈为空,不能做出栈操作!");
return 0;
}
--s->top; //先让top指向它当前位置的前一个元素的位置
*y = s->elem[s->top]; //取出top现在指向的那个位置的元素,放入*y;即为出栈操作.
}
int main()
{
SqStack *s = (SqStack *)malloc(sizeof(SqStack));
InitStack(s); //初始化栈,让top为0;
char ch = 'c';
Push_Sq(s, 'a'); //连续三次进栈操作
Push_Sq(s, 'b');
Push_Sq(s, 'c');
Pop_Sq(s, &ch); //做一次出栈操作,数据保存在ch中
printf("%c", ch); //打印
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -