?? 4-3.c
字號:
#include "stdio.h"
typedef char DataType ;
typedef struct stacknode{
DataType data;
struct stacknode *next;
}StackNode;
typedef struct{
StackNode *top; //棧頂指針
}LinkStack;
//置棧空
void Initial(LinkStack *S)
{
S->top=NULL;
}
//判棧空
int IsEmpty(LinkStack *S)
{
return S->top==NULL;
}
//進棧
void Push(LinkStack *S,DataType x)
{//將元素x插入鏈棧頭部
StackNode *p=(StackNode *)malloc(sizeof(StackNode));
p->data=x;
p->next=S->top;//將新結點*p插入鏈棧頭部
S->top=p;
}
//退棧
DataType Pop(LinkStack *S)
{
DataType x;
StackNode *p=S->top;//保存棧頂指針
if(IsEmpty(S))
{
printf("棧為空"); //下溢
exit(1);
}
x=p->data; //保存棧頂結點數據
S->top=p->next; //將棧頂結點從鏈上摘下
free(p);
return x;
}
//取棧頂元素
DataType Top(LinkStack *S)
{
if(IsEmpty(S))
{
printf("棧為空"); //下溢
exit(1);
}
return S->top->data;
}
void main()
{
LinkStack s;
DataType first,sec;
Initial(&s);
Push(&s,'a');
Push(&s,'b');
first=Top(&s);
Pop(&s);
sec=Top(&s);
Pop(&s);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -