lintcode刷题系列:数据结构queue
来源:互联网 发布:条形码数据采集器用法 编辑:程序博客网 时间:2024/06/04 01:10
队列是先进先出的线性表。基本操作有push/pop/front/back/empty/size
有数组和链表两种表示方法。
1)链表的表示如下:
typedef struct queuenode {
int val;
qnode *next;
}qnode;
typedef struct queue {
qnode* front;
qnode* rear;
}queue;
bool push(queue q, int e) { //入队列
qnode *tmp = (qnode*)malloc(sizeof(qnode));
if(tmp == NULL) {
return false;
}
tmp->val = e;
tmp->next = NULL;
q->rear->next = tmp;
q->rear = tmp;
return true;
}
bool pop(queue q, int *e) { //出队列
if(q->front == q->rear) { //队列为空
return false;
}
e = q->front->val;
queue* tmp = q->front;
q->front = tmp->next;
free(tmp);
tmp = NULL;
return true;
}
int front(queue q) {
}
bool empty(queue q) {
return q->front == q->rear;
}
int size(queue q) {
if(empty(q)) {
return 0;
}
qnode* tmp = q->front;
int len = 0;
while(tmp != q->rear) {
len++;
tmp = tmp->next;
}
return len;
}
- lintcode刷题系列:数据结构queue
- LintCode数据结构题总结
- 我在刷题系列--Majority Number(LintCode)
- lintcode刷题系列:链表排序----归并排序 递归
- LintCode刷题系列:数组排序--归并排序 递归
- hdu数据结构题 看病要排队 queue
- 队列数据结构 Queue.h
- 【数据结构】顺序队列 Queue
- queue的实现 数据结构
- <数据结构>stack & queue
- Java 数据结构之Queue
- 数据结构-队列(queue)
- linkin大话数据结构--Queue
- 数据结构-Queue
- 数据结构_队列(queue)
- TAIL Queue数据结构
- 数据结构-队列(queue)
- 数据结构复习 - 队列Queue
- 同步函数与异步函数
- 【重磅】微软AI首席科学家邓力:深度学习技术及趋势报告(75页PPT下载)
- 手把手教你利用Jenkins持续集成iOS项目
- 并发无锁队列学习之一
- 状态dp学习、
- lintcode刷题系列:数据结构queue
- JSONP方式解决跨域问题
- Git学习笔记 chapter04--撤销修改和删除文件
- 1004. 成绩排名
- iOS开发常见技术链接分享
- 批量删除,传入一个长字符串分割成不同的数组
- 小甲鱼PE详解之输入表(导入表)详解(PE详解07)
- mina自定义编解码
- eureka官方示例--服务注册