链式循环队列实现(C语言)
实现代码如下:
#include<stdio.h>
#include<stdlib.h>
typedef struct node *link;
struct node{
char item;
link next;
};
link Node(char item,link next)
{
link t = (link) malloc(sizeof(*t));
t->item = item;
t->next = next;
return t;
}
char get(link rear)
{
char item = rear->next->item;
link t = rear->next;
rear->next=t->next;
free(t);
return item;
}
int main()
{
link rear1 = NULL;
link rear = Node('v',rear1);
rear->next =rear;
rear->next=Node('a',rear->next);
rear= rear->next;
rear->next=Node('b',rear->next);
rear= rear->next;
rear->next=Node('c',rear->next);
rear= rear->next;
char get_item = get(rear);
printf("%3c\n",get_item);
char get_item1 = get(rear);
printf("%3c\n",get_item1);
char get_item2 = get(rear);
printf("%3c\n",get_item2);
char get_item3 = get(rear);
printf("%3c\n",get_item3);
system("pause");
return 0;
}
>>> out:v a b c