队列
#include<stdio.h>
#include<stdlib.h>
struct QUEUE
{
int arr[20];
int size;
int begin;
int end;
};
void intiQueue(QUEUE *p)
{
p->begin = p->end = 0;
p->size = 20;
}
void inQueue(QUEUE *p, int data)
{
if ((p->end+1)%p->size==p->begin)
{
return;
}
else
{
p->arr[p->end++] = data;
p->end %= p->size;
}
}
int ouQueue(QUEUE*p)
{
if (p->begin == p->end)
{
return 0;
}
else
{
int x = p->arr[p->begin];
p->begin = (p->begin + 1) % p->size;
return x;
}
}
int main()
{
struct QUEUE queue;
intiQueue(&queue);
int y = 123;
while (y!=0)
{
inQueue(&queue, y % 16);
y >>= 4;
}
while (queue.begin!=queue.end)
{
printf("%X\n", ouQueue(&queue));
}
system("pause");
}