用数组实现队列(C语言版)
2015-08-02 21:59
411 查看
#include "stdafx.h"
#include <iostream>
#define arrsize 10
typedef struct{
int rear;
int head;
int arr[arrsize];
}queue;
queue* Init_Queue()
{
queue * a = (queue*)malloc(sizeof(queue));
if(a==NULL)
{
printf("malloc failed!\n");
exit(-1);
}
a->head = a->rear = 0;
int i;
for(i = 0;i<arrsize;i++)
{
a->arr[i] = 0;
}
return a;
}
int Queue_Empty(queue* p)
{
return (p->head==p->rear);
}
int Queue_Full(queue* p)
{
return ((p->rear+1)%arrsize==p->head);
}
void Queue_In(queue* p , int data)
{
if(Queue_Full(p))
{
printf("queue is full!\n");
return;
}
p->arr[p->rear] = data;
p->rear=(p->rear+1)%arrsize;
}
int Queue_Out(queue* p)
{
if(Queue_Empty(p))
{
printf("queue is empty!\n");
return 0;
}
int temp;
temp = p->arr[p->head];
p->head=p->head+1%arrsize;
return temp;
}
int _tmain(int argc, _TCHAR* argv[])
{
queue* a = Init_Queue();
Queue_In(a,i);
//
//
//
//
//
//
//
//
//
//
getchar();
}
这篇博客是写给自己的 所以没备注
#include <iostream>
#define arrsize 10
typedef struct{
int rear;
int head;
int arr[arrsize];
}queue;
queue* Init_Queue()
{
queue * a = (queue*)malloc(sizeof(queue));
if(a==NULL)
{
printf("malloc failed!\n");
exit(-1);
}
a->head = a->rear = 0;
int i;
for(i = 0;i<arrsize;i++)
{
a->arr[i] = 0;
}
return a;
}
int Queue_Empty(queue* p)
{
return (p->head==p->rear);
}
int Queue_Full(queue* p)
{
return ((p->rear+1)%arrsize==p->head);
}
void Queue_In(queue* p , int data)
{
if(Queue_Full(p))
{
printf("queue is full!\n");
return;
}
p->arr[p->rear] = data;
p->rear=(p->rear+1)%arrsize;
}
int Queue_Out(queue* p)
{
if(Queue_Empty(p))
{
printf("queue is empty!\n");
return 0;
}
int temp;
temp = p->arr[p->head];
p->head=p->head+1%arrsize;
return temp;
}
int _tmain(int argc, _TCHAR* argv[])
{
queue* a = Init_Queue();
Queue_In(a,i);
//
//
//
//
//
//
//
//
//
//
getchar();
}
这篇博客是写给自己的 所以没备注
相关文章推荐
- C++对象生命周期(未完)
- 【effective c++读书笔记】【第4章】设计与声明(1)
- 【effective c++读书笔记】【第4章】设计与声明(1)
- 重载重写_覆盖重定义隐藏.cpp
- C语言:自定义一个查找字串的功能函数,类似于<string.h>中的strstr()
- 《C++游戏开发》笔记十二 战争迷雾:初步实现
- C语言:通过函数指针来完成两个数的加减乘除(函数指针当做参数使用)
- 《编程之美》买书问题及c语言代码实现
- 《C++游戏开发》笔记十一 平滑动画:不再颤抖的小雪花
- C/C++中extern关键字详解
- C语言:通过函数指针来完成两个数的加减乘除
- c语言 实现字符串和数字的连接
- C++知识点随笔(二):继承、多态
- 瞧,这是UE4 C++
- C++开源框架
- C++默认构造函数的问题
- c++ primer Exercise 5.0
- C++ Primer Plus 学习笔记(第八章)
- C语言:通过指针函数输出二维数组中每个学生的成绩
- C++常用容器总结