队列的实现C语言
来源:互联网 发布:fastreport 数据分栏 编辑:程序博客网 时间:2024/05/14 13:26
先用数组实现队列 ,注意变量的初始化。
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int capacity;
int size;
int front;
int rear;
int *Array;
}Queue;
Queue *CreatQueue(Queue *queue);
void Enqueue(Queue *queue,int capacity);
//主函数
int main()
{
Queue *queue;
queue=(Queue *)malloc(sizeof(queue));
if(queue==NULL)
printf("Out of space");
Enqueue(CreatQueue(queue),queue->capacity);
printf("%d",queue->Array[0]);
}
//创建一个队列
Queue *CreatQueue(Queue *queue)
{
//queue=(Queue *)malloc(sizeof(queue));
//if(queue==NULL)
//printf("Out of space");
queue->capacity=10;
queue->Array=(int *)malloc(queue->capacity*sizeof(int));
if(queue->Array==NULL)
printf("Out of space");
queue->size=0;
queue->front=0;
queue->rear=-1;
return queue;
}
//元素进队列
void Enqueue(Queue *queue,int capacity)
{
queue->rear++;
queue->Array[queue->rear]=6;
queue->size++;
if(queue->rear==capacity)
queue->rear=0;
}
再采用链表犯法构建队列
#include<stdio.h>
#include<stdlib.h>
//链表节点
typedef struct node
{
int val;
struct node *next;
}node;
//包含队列元素结构
typedef struct
{
node *front;
node *rear;
int size;
}queue;
//创建一个空的队列
queue *Create_Queue()
{
queue *Queue;
Queue=(queue *)malloc(sizeof(queue));
if(Queue!=NULL)
{
Queue->front=NULL;
Queue->rear=NULL;
Queue->size=0;
}
return Queue;
}
//将元素写进队列
queue *EnQueue(queue *Queue,int element)
{
node *Pnode=(node *)malloc(sizeof(node));
if(Pnode!=NULL)
{
Pnode->val=element;
Pnode->next=NULL;
}
if(Queue->front==NULL)
{
Queue->front=Pnode;
}
else
{
Queue->rear->next=Pnode;
}
Queue->size++;
Queue->rear=Pnode;
return Queue;
}
- 队列的C语言实现
- C语言队列的实现
- c语言队列的实现
- 队列的c语言实现
- 队列的C语言实现
- 队列的C语言实现
- 队列的实现C语言
- 队列的C语言实现
- 队列的C语言实现
- 队列的C语言实现
- 队列 C语言实现
- 队列C语言实现
- C语言实现队列
- 队列 c语言实现
- C语言实现队列
- C语言实现队列
- C 语言实现队列
- c语言实现队列
- android学习 -- 短信发送器
- OpenCV中cvFindContours函数
- Android 深入理解Android中的自定义属性
- Android RelativeLayout属性大全(中文解释)
- Linux下inotify机制简介
- 队列的实现C语言
- 将格式化的日期字符串转换为Unix时间戳(php)
- 将输出的年月日修改为默认参数(第三章第三题)
- linux yum 安装rar和unrar
- 说说最小生成树(Minimum Spanning Tree)
- iOS开发系列之常用自定义控件开发集—自定义组按钮控件开发
- JAVA正则表达式 Pattern和Matcher
- 3.5
- Jedis分片连接池(分布式)