2.3.c

来自「自己写的数据结构课程程序」· C语言 代码 · 共 71 行

C
71
字号
#include<iostream.h>
#include<malloc.h>

#define NULL 0
struct QNode
{
    int data;
    struct QNode *next;
} QNode,*q;

struct LinkQueue
{
    struct QNode *front;
    struct QNode *rear;
} Q;

int InitQueue()
{
    Q.front=Q.rear=(struct QNode*)malloc(sizeof(int));
    if(!Q.front )return 0;
    Q.front ->next=NULL;
    return 1;
}
int EnQueue(int e)
{
    q=(struct QNode*)malloc(sizeof(QNode));
    if(!q)return 0;
    q->data=e;
    q->next=NULL;
    Q.rear ->next=q;
    Q.rear =q;
    return 1;
}


int DeQueue()
{
    int e;
    struct QNode *p;
    if(Q.front ==Q.rear )return 0;
    p=Q.front ->next ;
    e=p->data ;
    Q.front ->next=p->next ;
    if(Q.rear ==0)Q.rear =Q.front ;
    cout<<"所出队的元素为:";
    cout<<"e="<<e<<endl;
    free(p);
    return 1;
}

void main(void)
{
    int i=0,j=0,k=0,n,n1;
    i=InitQueue();
    if(i==1)cout<<"创建成功!"<<endl;
    else cout<<"创建不成功!"<<endl;
    for(n=0;n<4;n++)
    {
        cout<<"请输入数据!"<<endl;
        cin>>n1;
         EnQueue(n1);
         cout<<"入队成功!"<<endl;
    }
    k=DeQueue();
    if(k==1)cout<<"出队成功!"<<endl;
    else cout<<"入队失败!"<<endl;
}
    
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?