您的位置:首页 > 其它

本周学习的相关知识

2016-04-07 21:06 232 查看
#include<stdio.h>
#include<stdlib.h>
//1 链队的定义====================
typedef int ElemType;
typedef struct LNode//结点定义
{
ElemType data;//数据域
LNode *next;//指针域
}LNode;
typedef struct //链队定义
{
LNode *front;//队首指针
LNode *rear;//队尾指针
}QUEUE;

//2 链队的基本操作================
//2.1 初始化
void InitQueue(QUEUE *Q)
{
Q->front=(LNode *)malloc(sizeof(LNode));
Q->rear=Q->front;
Q->front->next=0;
}
//2.2 入队
void EnQueue(QUEUE *Q, ElemType e)
{
LNode *p;
p=(LNode *)malloc(sizeof(LNode));//产生一新结点
p->data=e;//存储新元素
p->next=0;
Q->rear->next=p;
Q->rear=p;
}
//2.3 出队
void DeQueue(QUEUE *Q, ElemType *e)
{	LNode *p;
if(Q->front==Q->rear)
{
printf("队列是空的。\n");
return;
}
*e=Q->front->next->data;
p=Q->front->next;
Q->front->next=p->next;
if(p==Q->rear)
Q->rear=Q->front;
free(p);
}

//3 主函数==========================
void main()
{	int i;
QUEUE duilie;

InitQueue(&duilie);

for(i=1; i<=10; i++)
EnQueue(&duilie, 10*i);

ElemType e;
while(duilie.front!=duilie.rear)
{
DeQueue(&duilie, &e);
printf("%d ",e);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: