栈之顺序结构和链式结构
生活随笔
收集整理的這篇文章主要介紹了
栈之顺序结构和链式结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
棧的順序結構實現
typedef int Position; struct SNode {ElementType *Data; /* 存儲元素的數組 */Position Top; /* 棧頂指針 */int MaxSize; /* 堆棧最大容量 */ }; typedef struct SNode *Stack;Stack CreateStack( int MaxSize ) {Stack S = (Stack)malloc(sizeof(struct SNode));S->Data = (ElementType *)malloc(MaxSize * sizeof(ElementType));S->Top = -1;S->MaxSize = MaxSize;return S; }bool IsFull( Stack S ) {return (S->Top == S->MaxSize-1); }bool Push( Stack S, ElementType X ) {if ( IsFull(S) ) {printf("堆棧滿");return false;}else {S->Data[++(S->Top)] = X;return true;} }bool IsEmpty( Stack S ) {return (S->Top == -1); }ElementType Pop( Stack S ) {if ( IsEmpty(S) ) {printf("堆棧空");return ERROR; /* ERROR是ElementType的特殊值,標志錯誤 */}else return ( S->Data[(S->Top)--] ); }
總結
以上是生活随笔為你收集整理的栈之顺序结构和链式结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 表之顺序结构和链式结构
- 下一篇: 相位解包裹