链表队列
来源:互联网 发布:什么是网站域名 编辑:程序博客网 时间:2024/06/06 00:33
链表队列:
key_word:1.队列指针记录的是头指针与尾指针
2.队列内的元素指针记录的是下一元素的指针
#include <stdio.h>#include <stdlib.h>typedef struct node{ int a; struct node *next;}str;//zhizhen yuansustruct queue{ str *front; str *rear; int count;};//queue zhizhenstr *pnew;struct queue *eve;void init_queue(){ eve->count=0; eve->front=(str *)malloc(sizeof(str)); if(eve->front==NULL) exit(1); eve->rear=(str *)malloc(sizeof(str)); if(eve->rear==NULL) exit(1); eve->front=NULL; eve->rear=NULL;}void enqueue(int value){ pnew=(str *)malloc(sizeof(str)); if(pnew==NULL) exit(1); pnew->next=NULL; pnew->a=value; eve->count++; if(eve->count==1) { eve->front=pnew; eve->rear=pnew; } else { eve->rear->next=pnew; eve->rear=pnew; } printf("%d ",eve->rear->a);}void dequeue(){ str *pre; pre=(str*)malloc(sizeof(str)); if(pre==NULL) exit(1); pre=eve->front; eve->front=eve->front->next; free(pre); eve->count--; if(eve->count==0) eve->rear=NULL;}void top_queue(){ printf("top:%d\n",(eve->front->a));}void print(){ str *temp; temp=(str *)malloc(sizeof(str)); if(temp==NULL) exit(1); temp=eve->front; while(temp!=NULL) { printf("%d ",temp->a); temp=temp->next; } printf("\n");}int main(){ eve=(struct queue *)malloc(sizeof(struct queue)); if(eve==NULL) exit(1); init_queue(); enqueue(9);enqueue(8);enqueue(7);enqueue(6);enqueue(5); enqueue(4);enqueue(3);enqueue(2);enqueue(1);enqueue(0); printf("\n"); print(); dequeue(); dequeue(); print(); dequeue(); print(); top_queue(); return 0;}
0 0
- 队列--链表队列
- 关于队列(数组队列,链表队列,循环队列)
- 特殊的线性表-队列-链队列
- 循环队列和链表队列代码
- 单链表、链表队列、循环队列、栈
- 队列::链表结构
- 链表队列
- 队列和链表
- 链表实现队列
- 数据结构链表队列
- 数据结构-链表队列
- 数据结构----链表队列
- 链表队列
- 循环链表队列
- 队列和链表
- 链表实现队列
- 链表自定义队列
- 链表实现队列
- C日记——泛型的使用
- java 日志异常格式化字符串
- 6.2文件的逻辑结构
- C++走向远洋——46(教师兼干部类、多重继承、派生)
- 深度解析c语言中的关键字
- 链表队列
- 03_JSP 开发环境搭建
- hdu4521小明系列问题——小明序列
- maven的安装与配置 注意事项
- C++5作业
- Red Hat Enterprise Linux 6 系统安装
- 九度OJ - 1184 - 二叉树遍历
- 6.3外存分配方式
- Android Studio报错@integer/google_play_services_version').