
栈和队列
li__dawn
这个作者很懒,什么都没留下…
展开
-
队列的链式存储
相当于一个多了头尾指针的单链表,头指针指向头结点,尾指针指向最后一个节点 typedef struct LinkNode { int data; struct LinkNode *next; }LinkNode; typedef struct { LinkNode *front,*rear; }LinkQueue; 初始化以及判断是否为空(带头结点) typedef struct LinkNode { int data; struct LinkNode *next; }LinkNode原创 2021-08-21 17:10:52 · 174 阅读 · 0 评论 -
队列的顺序存储的基本操作
队列(先进先出) 定义 #define MaxSize 50 typedef struct { int data[MaxSize]; int front,rear;//front指向第一个元素,尾指针指向最后一个元素的下一个位置 }Queue; 初始化,判断是否为空 void InitQueue(Queue &q) { q.front=q.rear=0; } bool IsEmpty(Queue q) { if(q.front==q.rear) return true; retur原创 2021-08-21 16:35:28 · 241 阅读 · 0 评论 -
栈的基本操作
定义 #define MaxSize 50//占中元素最大个数 typedef struct { int data[MaxSize]; int top; }SqStack; 初始化 void InitStack(SqStack &S) { S.top=-1; } 判断空 bool StackEmpty(SqStack S) { if(S.top==-1) return true;//空 else return false; } 入栈 bool Push原创 2021-08-20 17:26:16 · 107 阅读 · 0 评论