抽象数据类型-线性结构-先进先出:队列

队列一个最典型的例子,就是操作系统中的作业排队。在允许多道程序运行的计算机系统中,同时有几个作业运行。如果运行的结果都需要通过通道 输出,那就按请求输出的先后次序排队。每当通道传输完毕  可以接受 新的输出任务时,队头作业先从队列中退出(输出)操作,凡是申请输出的作业都从队尾进入队列。

队列的操作与栈相似,不同的是它的删除操作是在表的头部进行。

 

 

和线性表类似,队列也有两种存储方式。
一、链队列

//单链队列

 

//此处 结点的 类型 不是指针

typedef  struct Node{
    ElemType  data;
    struct   Node*   next;

}Node,*QueuePtr;

//此处 队列的 类型 不是指针

typedef struct {
    QueuePtr   front;
    QueuePtr   rear;
}

p=(QueuePtr)malloc(sizeof(Node);

 

有  头结点   的情况:

抽象数据类型-线性结构-先进先出:队列_第1张图片

你可能感兴趣的:(数据结构)