数据结构之队列的链表实现
来源:互联网 发布:软件著作权案例 编辑:程序博客网 时间:2024/05/01 08:17
/*
实现功能:用链式表实现队列的各种操作
编译环境:Windows7 64b,vc6.0
日期: 2015/7/20
作者: wtt561111
*/
#include "stdio.h"
#include "stdlib.h"
typedef struct Node *PNode;
struct Node{
PNode link;
int info;
};
struct LinkQueue{
PNode f;
PNode r;
};
typedef struct LinkQueue *PLinkQueue;
/*
创建一个空的队列,成功返回一个队列指针,否则返回空
*/
PLinkQueue createEmptyQueue_link(){
PLinkQueue plq=(PLinkQueue)malloc(sizeof(struct LinkQueue));
if(plq==NULL){
printf("out of space!\n");
return NULL;
}
plq->f=NULL;
plq->r=NULL;
return plq;
}
/*
判断队列是否为空,为空返回1,否则返回0
*/
int isEmptyQueue_link(PLinkQueue plq){
if(plq->f==NULL)
return 1;
return 0;
}
/*********************************************************/
/*
将x入列,成功返回1,否则返回0
*/
int enQueue_link(PLinkQueue plq,int x){
PNode p = (PNode) malloc (sizeof(struct Node));
if(p==NULL){
printf("out of space!\n");
return 0;
}
p->link=NULL;
p->info=x;
if(plq->f==NULL){
plq->f=p;
} else{
plq->r->link=p;
}
plq->r=p;
return 1;
}
/*********************************************************/
/*
取队头元素的值,成功返回元素的值,否则返回-1。
*/
int frontQueue_link(PLinkQueue plq){
if(plq->f==NULL){
printf("empty!\n");
return -1;
}
return plq->f->info;
}
/*********************************************************/
/*
队头元素出列,成功返回1,否则返回0
*/
int deQueue_link(PLinkQueue plq){
PNode p;
if(plq->f==NULL){
printf("empty!\n");
return 0;
}
p=plq->f;
plq->f=p->link;
free(p);
return 1;
}
/*********************************************************/
/********************************主函数*******************/
int main(){
PLinkQueue plq_get=createEmptyQueue_link();
enQueue_link(plq_get,100);
enQueue_link(plq_get,101);
enQueue_link(plq_get,102);
enQueue_link(plq_get,103);
deQueue_link(plq_get);
printf( "%d\n",frontQueue_link(plq_get) );
// if(isEmptyQueue_link(plq_get))
// printf("empty");
return 0;
}
- 数据结构之队列的链表实现
- 简单数据结构的实现之链队列
- 数据结构之链队列的实现
- 经典数据结构之队列的链表实现方法
- 数据结构之队列的实现
- 数据结构之队列的实现
- 数据结构之 队列的实现!
- 数据结构---队列的链表实现
- 【数据结构】队列-链表的实现
- 【数据结构】队列的链表实现
- 数据结构实现之队列
- (三)数据结构之线性表的简单实现:队列
- 数据结构之队列的实现(c语言)
- 简单数据结构的实现之循环队列
- 数据结构之 队列的操作与实现
- 经典数据结构之数组实现的队列
- 数据结构之队列的java实现
- 数据结构之循环队列的实现
- 浮动层如何贴住网页内容右边
- 通过 sql语句获得一个 表的备注 及 字段备注 类型
- Java Exception
- Web前端知识框架总结
- Android任务和返回栈完全解析,细数那些你所不知道的细节(来自慕课网社区论坛)
- 数据结构之队列的链表实现
- 程序员必知8大排序3大查找(二)
- git基础操作
- ImageView
- Python时间函数
- python 操作文本编辑器
- zmq数据发布
- Android 开发中的日常积累
- 程序员必知8大排序3大查找(三)