队列总结
来源:互联网 发布:python 智能模块 编辑:程序博客网 时间:2024/05/09 04:15
今天做BFS的时候才发现队列这一块其实掌握的还不到位,所以决定在这里把它总结下,这里说的是队列的链表实现。
队列的特点:
1,先进先出,后进后出
2,用链表实现时,有两个指针,一个头指针,一个尾指针,分别指向头部和尾部。
3,每一个数据块是链表的块,分为数据存储的部分和下一个连接的指针存储next域。
下面按照课本上的写法再自己写一下并简单写下一些基本的算法。
1,数据块的表示
typedef struct QNode{
int data;
struct QNode *next;
}QNode,*Queuepre;
2,分配连个指针去指导
typedef struct {
Queuepre front;
Queuepre rear;
}LinkQueue;
3,初始化
void InitQueue(LinkQueue &Q){
Q.front=Q.rear=(Queuepre)malloc(sizeof(QNode));
Q.front->next=NULL;
}
4.入队列
void EnQueue(LinkQueue &Q,int e){
p=(Queuepre)malloc(sizeof(QNode));
p->data=e;
Q.rear->next=p;
Q.rear=p;
}
5,出队列
void DeQueue(LinkQueue &Q,&e){
p=Q.front->next;
e=p->data;
Q.front->next=p->next;
if(p=Q.rear)Q.rear=Q.front;
free(p);
}
- 队列总结
- 栈+队列+优先队列-总结
- 等待队列总结
- 检查点队列简单总结
- linux消息队列总结
- 单调队列总结
- 栈,队列学习总结
- 队列总结_legend
- Linux消息队列总结
- 栈、队列总结
- 学习队列 总结
- 优先队列总结
- linux消息队列总结
- C#queue队列总结
- 栈和队列总结
- 循环队列问题总结
- 队列实现总结:
- 队列的总结
- 笑话五则
- 如何获取View的句柄
- 關於BOM有用的命令
- Silverlight学习笔记[4] - 在Silverlight中通过WCF连接ORACLE DB数据库(译)
- 什麼是雲端服務?阿正老師教你免費玩Amazon EC2雲端主機!(上篇)
- 队列总结
- 任意角度的高质量的快速的图像旋转 下篇 补充话题
- 工作的选择
- VC6.0中配置使用Sqlite3
- PHP 利用 smtp服务器发送邮件
- fedora16下Samba服务的配置
- win7的telnet远程服务如何开启
- dom4j 读大xml文件
- Scanf()与gets()函数的区别