栈和队列的主要区别:
栈的操作是“先进后出”,而队列的操作是“先进先出"
队列是插入操作限定在表的尾部而其他操作限定在表的头部进行的线性表
栈的操作在栈顶进行
栈的应用:文字编辑器
PSeqStack str; /*顺序栈 str 是全程变量*/
EDIT( ) /*编辑好的字符串在str中*/
{ char c;
str=createEmptyStack();
c=getchar();
while(c!='*') /*字符‘*’为编辑结束符*/
{ if(c=='#') POP(str); /*进栈*/
else
if(c=='@') str=createEmptyStack();
else PUSH(str,c); /*退栈*/
c=getchar();
}
} /*EDIT*/
队列的应用:判断回文
(1)进栈;
(2)出栈;
(3)判断出栈的与进栈的元素是否相同;
若相同,则为回文数;反之,不为回文数