数据结构--队列(查询队头元素)

数据结构课程小练习,记录一下

编译软件:Dev-C++

创建源代码:

text1.cpp

实现代码:

#include<stdio.h> 
#include<stdlib.h>
typedef struct LinkNode{  //定义节点类型 
    float data;
    struct LinkNode *next;
}Node;

typedef struct LinkDui{  //定义链队列 
    struct LinkNode *front,*rear;
}Dui;

void init(Dui *s)  //初始化队列 
{
    s->front=(Node *)malloc(sizeof(Node));
    (s->front)->next=NULL;
    s->rear=s->front;
}

void rudui(Dui *s,float x)  //入队 
{
    Node *k;
    k=(Node *)malloc(sizeof(Node)); 
    k->data=x;
    k->next=NULL;
    (s->rear)->next=k;
    (s->rear)=k;
}

float chudui(Dui *s)  //出队 
{
    float x;
    Node *q;
    q=(s->front)->next;
    if(q==NULL)
    return 0;
    else                  //出队 
    {
        x=q->data;
        (s->front)->next=q->next;
        free(q);
        return x;
}
}

float getfront(Dui *s) //获取队头元素 
{Node *q;
    if((s->front)->next==NULL)
    return 0;
    else
    {
        q=(s->front)->next;
        return q->data;
    }
    
}

完成后需要将此代码保存成.h文件:

步骤如下:

点击文件---另存为

然后编写主函数文件

text2.cpp:

实现代码:

#include<stdio.h> 
#include "text1.h"
int main()
{
    Dui d1;
    init(&d1);
    rudui(&d1,10);
    rudui(&d1,20);
    rudui(&d1,30);
    rudui(&d1,40);
    chudui(&d1);
    printf("队头元素为:%.0f\n",getfront(&d1));
    return 0;
}

然后要保存为.c文件:

文件截图:

运行结果截图:

注意:

要将两个文件放在同一个文件夹里!!

 

 以上就可以实现成功了

猜你喜欢

转载自blog.csdn.net/qq_57409899/article/details/124211138