队列的链式实现
来源:互联网 发布:厄米特矩阵与对称矩阵 编辑:程序博客网 时间:2024/05/17 07:21
#include <stdio.h>#include <stdlib.h>//写个带头结点的//front并不是指向第一个元素,因为头结点均为空头结点struct Lqueue{ int data; struct Lqueue* next;};struct queuerecord{ struct Lqueue* front; struct Lqueue* rear;};struct queuerecord* CreateAndInit(struct queuerecord* queue){ queue=(struct queuerecord*)malloc(sizeof(struct queuerecord)); queue->front=(struct Lqueue*)malloc(sizeof(struct Lqueue)); queue->front->next=NULL; queue->rear=queue->front; return queue;}void Enqueue(struct queuerecord* queue,int number){ struct Lqueue *p; p=(struct Lqueue* )malloc(sizeof(struct Lqueue)); p->data=number; p->next=NULL; p->next=queue->rear->next; queue->rear->next=p; queue->rear=p;}void Dequeue(struct queuerecord* queue){ struct Lqueue* temp; temp=queue->front->next; queue->front->next=temp->next; free(temp); return;}int main(){ struct queuerecord* queue; queue=CreateAndInit(queue); for(int i=1;i<=10;i++) Enqueue(queue,i); for(int i=1;i<=3;i++) Dequeue(queue); struct Lqueue* temp=queue->front->next; while(temp){ printf("%d ",temp->data); temp=temp->next; } return 0;}
#include <stdio.h>#include <stdlib.h>//写个不带头结点的struct Lqueue{ int data; struct Lqueue* next;};struct queuerecord{ struct Lqueue* front; struct Lqueue* rear;};struct queuerecord* CreateAndInit(struct queuerecord* queue){ queue=(struct queuerecord*)malloc(sizeof(struct queuerecord)); queue->front=NULL; queue->rear=NULL; return queue;}void Enqueue(struct queuerecord* queue,int number){ struct Lqueue *p; p=(struct Lqueue* )malloc(sizeof(struct Lqueue)); p->data=number; p->next=NULL; if(queue->front==NULL){ queue->front=p; queue->rear=p; return; } p->next=queue->rear->next; queue->rear->next=p; queue->rear=p;}void Dequeue(struct queuerecord* queue){ struct Lqueue* temp; temp=queue->front; queue->front=temp->next; if(queue->front==NULL) queue->rear=NULL; free(temp); return;}int main(){ struct queuerecord* queue; queue=CreateAndInit(queue); for(int i=1;i<=10;i++) Enqueue(queue,i); for(int i=1;i<=3;i++) Dequeue(queue); struct Lqueue* temp=queue->front; while(temp){ printf("%d ",temp->data); temp=temp->next; } return 0;}
1 0
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现。
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 队列的链式实现
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 链式队列的实现
- 队列的链式实现
- 队列的链式实现
- 链式队列的实现
- BaseAdapter的简化
- Java实现求一个整数的二进制数中1的个数
- 大数据面试题
- ld: warning: directory not found for option '-L/...
- 集合编程
- 队列的链式实现
- 自定义滚动按钮(滚轮)进度调节器
- 递归算法——Hanoi(汉诺)问题(Java实现&C语言实现)
- android XmlSerializer 组拼xml
- uint8_t / uint16_t / uint32_t /uint64_t 相关内容
- codevs 1766 装果子(二分)
- python的pandas库里的数据结构介绍
- 【编程语言】PySpark 异常 AttributeError: 'PipelinedRDD' object has no attribute 'toDF'
- LeetCode-Maximum Subarray