数据结构课程小练习,记录一下
编译软件: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文件:
文件截图:
运行结果截图:
注意:
要将两个文件放在同一个文件夹里!!
以上就可以实现成功了