首页 / C语言 / 链队列基本操作实现(C语言)
链队列基本操作实现(C语言)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了链队列基本操作实现(C语言),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1438字,纯文字阅读大概需要3分钟。
内容图文
![链队列基本操作实现(C语言)](/upload/InfoBanner/zyjiaocheng/1032/bcfe1df912b548ab93ea557972e8b31f.jpg)
链队列基本操作实现
队列
链队的定义及其基本操作
1、队列的定义
队列,简称队,它是一种操作受限的线性表,其限制在表的一端进行插入,另一端进行删除。可进行插入的一端称为队尾(rear),可进行删除的一端称为队头(front)。向队中插入元素叫入队,新元素进入之后就称为新的队尾元素。从队中删除元素叫出队,元素出队后,其后继结点元素就称为新的队头元素。
2、队列的特点
队的特点就是先进先出(栈为先进后出)。打个比方,队列就是在食堂吃饭的时候排队,先到的人先拿到饭,后到的人后拿到。
3、队列的存储结构
队列按存储结构可分为链队和顺序队两种。
代码:
#include<stdio.h>
#include<stdlib.h>
typedef int QueueElemType;
typedef struct Node
{
QueueElemType data;
struct Node *next;
}LQNode;
typedef struct {
LQNode *front;
LQNode *near;
}LinkQueue;
void EnterQueue(LinkQueue *Q,int x)//入队
{
LQNode *NewNode;
NewNode=(LQNode*)malloc(sizeof(LQNode));
if(NewNode!=NULL)
{
NewNode->data=x;
NewNode->next=NULL;
Q->near->next=NewNode;
Q->near=NewNode;
}
}
void DeleteQueue(LinkQueue *Q,int *x)//出队,并用x返回
{
LQNode *p;
if(Q->near==Q->front)
return;
p=Q->front->next;
Q->front->next=p->next;
if(Q->near=p) //若只有一个元素
{
Q->front=Q->near;
}
*x=p->data;
free(p);
return ;
}
void InitQueue(LinkQueue *Q)//队列初始化
{
Q->front=(LQNode*)malloc(sizeof(LQNode));
printf("d");
Q->near=Q->front;
Q->front->next=NULL;
}
int main()
{
LinkQueue *Q; //队列初始化
InitQueue(Q);
EnterQueue(Q,1);
EnterQueue(Q,2);
EnterQueue(Q,3);
EnterQueue(Q,4);
int x;
DeleteQueue(Q,&x);
printf("%d",x);
return 0;
}
内容总结
以上是互联网集市为您收集整理的链队列基本操作实现(C语言)全部内容,希望文章能够帮你解决链队列基本操作实现(C语言)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。