?? seqstack1.h
字號:
#define TRUE 1
#define FALSE 0
#define Stack_Size 50
#define StackElementType char
/*順序棧*/
typedef struct
{
StackElementType elem[Stack_Size]; /*用來存放棧中元素的一維數組*/
int top; /*用來存放棧頂元素的下標,top為-1表示空棧*/
}SeqStack;
/*初始化*/
void InitStack(SeqStack *S)
{
/*構造一個空棧S*/
S->top = -1;
}
/*判棧空*/
int IsEmpty(SeqStack *S) /*判斷棧S為空棧時返回值為真,反之為假*/
{
return(S->top==-1?TRUE:FALSE);
}
/*判棧滿*/
int IsFull(SeqStack *S) /*判斷棧S為滿棧時返回值為真,反之為假*/
{
return(S->top==Stack_Size-1?TRUE:FALSE);
}
int Push(SeqStack *S,StackElementType x)
{
if(S->top==Stack_Size-1)
return(FALSE); /*棧已滿*/
S->top++;
S->elem[S->top] = x;
return(TRUE);
}
int Pop(SeqStack *S,StackElementType *x)
{
/* 將棧S的棧頂元素彈出,放到x所指的存儲空間中 */
if(S->top == -1) /*棧為空*/
return(FALSE);
else
{
*x = S->elem[S->top];
S->top--; /* 修改棧頂指針 */
return(TRUE);
}
}
/*取棧頂元素。*/
int GetTop(SeqStack *S,StackElementType *x)
{
/* 將棧S的棧頂元素彈出,放到x所指的存儲空間中,但棧頂指針保持不變 */
if(S->top == -1) /*棧為空*/
return(FALSE);
else
{
*x = S->elem[S->top];
return(TRUE);
}
}
/*進行匹配*/
int Match(char ch,char str)
{
if(ch=='(' && str==')')
{
return TRUE;
}
else if(ch=='[' && str==']')
{
return TRUE;
}
else if(ch=='{' && str=='}')
{
return TRUE;
}
else
return FALSE;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -