数据结构:栈和队列
2015-06-19 10:40
288 查看
栈 栈的顺序存储 1.栈满的条件s->top==MAXSIZE-1; 链栈 1.入栈 p=(slStacktype *)malloc(sizeof(slStacktype)) p->data=x; p->next=top->next; top->next=p; 2.出栈 if(top->next==NULL) return NULL; p=top->next; top->next=p->next; x=p->data; free(P); return x; 3.多个链栈 top[0],top[1]....分别是M个链栈的栈顶指针,操作时只需确定链栈号i,然后以top[i] 为栈定指针进行栈操作。 队列 空队:front=rear=-1; 入队: sq->rear++; sq->data[sq->rear]=x; 出队: sq->front++; x=sq->data[sq->front]; 循环队列 入队: if((q->rear+1)%MAXSIZE==Q->front){ print("队满"); return FALSE; } else{ q->rear=(q->rear+1)%MAXSIZE; Q->data[q->rear]=x; return TRUE; } 出队 if(q->front==q->rear){ printf("空队"); return FALSE; } else{ q->front=(q->front+1)%MAXSIZE; X=q->data[q->front]; return TRUE; } 链队 入队: p=malloc(sizeof(QNnode)); p->data=x; p->next=null; q->rear->next=p; q->rear=p; 出队: p=q->front->next; q->front->next=p->next; x=p->data; free(p); if(q->front->next==NULL) q->rear=q->front;
相关文章推荐
- 数据结构:链表
- JavaScript中数据结构与算法(五):经典KMP算法
- 数据结构和算法-009 双向链表
- 数据结构学习之堆栈(链式存储)
- JavaScript中数据结构与算法(四):串(BF)
- JavaScript中数据结构与算法(三):链表
- 数据结构学习之堆栈(顺序存储)
- JavaScript中数据结构与算法(二):队列
- JavaScript中数据结构与算法(一):栈
- JavaScript中数据结构与算法(一):栈
- JavaScript中数据结构与算法(二):队列
- JavaScript中数据结构与算法(三):链表
- JavaScript中数据结构与算法(四):串(BF)
- JavaScript中数据结构与算法(五):经典KMP算法
- 数据结构-图存储表示之邻接表
- 【kd-tree】bzoj3290 Theresa与数据结构
- 数据结构学习之双向循环链表的基本操作(非递归实现)
- 数据结构学习之单向链表的基本操作(非递归实现)
- OpenCV基础篇之Mat数据结构
- 温习一下数据结构