📄 datastruct.cpp
字号:
#include "stdio.h"
void CMyQueue::init(CMyQueue::linkqueue *p)
{
p->front=p->rear=(linkqlist *)malloc(sizeof(linkqlist));
if(!p->front) exit(OVERFLOW);
(p->front)->next=null;
}
int CMyQueue::destory(linkqueue *q)
{
while (q->front)
{
q->rear=q->front->next;
free (q->front);
q->front=q->rear;
}
}
int CMyQueue::empty(linkqueque *q)
{
int v;
if(q->front==q->rear) v=1;
else v=0;
return v;
}
int CMyQueue::gethead(linkqueue *q)
{ int v;
if(q->front==q->rear)
v=-1;
else
v=(q->front)->next->data;
return v;
}
int CMyQueue::enqueue(linkqueue *q,int e)
{
q->rear->next=(linkqlist *)malloc(sizeof(linkqlist));
q->rear=q->rear->next;
if(!q->rear) return -1;
q->rear->data=e;
q->rear->next=null;
}
int CMyQueue::dequeue(linkqueue *q)
{
linkqlist *p;
int e;
if (q->front==q->rear)
printf("the linklist is overflow");
else p=(q->front)->next;
(q->front)->next=p->next;
e=p->data;
if(q->rear==p)
q->rear=q->front;
free(p);
return(e);
}
void CMyQueue::visit(linkqueue *p)
{linkqueue *q;
q=p->front->next;
printf("display the linklist:\n");
if (p->front==p->rear)
printf("the linklist is empty!");
else {while(q)
{printf("%d->",q->data);
q=q->next;}
}
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -