用链表实现队列

/*Queue - Linked List implementation*/
#include<stdio.h>
#include<stdlib.h>
struct Node {int data;struct Node* next;
};
// Two glboal variables to store address of front and rear nodes.
struct Node* front = NULL;
struct Node* rear = NULL;// To Enqueue an integer
void Enqueue(int x) {struct Node* temp = (struct Node*)malloc(sizeof(struct Node));temp->data =x; temp->next = NULL;if(front == NULL && rear == NULL){front = rear = temp;return;}rear->next = temp;rear = temp;
}// To Dequeue an integer.
void Dequeue() {struct Node* temp = front;if(front == NULL) {printf("Queue is Empty\n");return;}if(front == rear) {front = rear = NULL;}else {front = front->next;}free(temp);
}int Front() {if(front == NULL) {printf("Queue is empty\n");return;}return front->data;
}void Print() {struct Node* temp = front;while(temp != NULL) {printf("%d ",temp->data);temp = temp->next;}printf("\n");
}int main(){/* Drive code to test the implementation. */// Printing elements in Queue after each Enqueue or Dequeue Enqueue(2); Print(); Enqueue(4); Print();Enqueue(6); Print();Dequeue();  Print();Enqueue(8); Print();
}

算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。

队列C++ | 用链表实现队列_2相关推荐

  1. php队列失败是指什么,队列是什么意思

    队列是一种特殊的线性表.它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表:进行插入操作的端称为队尾,进行删除操作的端称为队头: ...

  2. 基于链表实现队列(基于Java实现)

    title: 基于链表实现队列(基于Java实现) tags: 链表 队列 基于链表的队列实现方法的原理: 基于链表的实现,跟前面的基于数组实现一样,同样也需要两个指针:head指针和tail指针.它 ...

  3. 数据结构与算法:链表,队列,栈,递归,有序表

    反转单链表,双链表 import java.util.ArrayList; import java.util.List;public class ReverseList {public static ...

  4. 第7周项目实践2.1 用只有尾节点指针rear的循环单链表实现队列算法库

    //用只有尾节点指针rear的循环单链表作为队列存储结构,其中每个节点的类型为LinkNode,rear指针用于唯一标识链队 typedef struct LinkNode {int date;Lin ...

  5. 分别用顺序表和链表实现队列

    一.顺序表实现队列 #include <iostream> using namespace std; #define MaxSize 50 typedef struct{int data[ ...

  6. 用结点实现链表LinkedList,用数组和结点实现栈Stack,用数组和结点链表实现队列Queue

    一,用结点实现链表LinkedList,不用换JavaAPI的集合框架 import java.util.Scanner;public class Main {public static class ...

  7. 黑马程序员 C语言数据结构与算法之线性表(链表/栈/队列/顺序表)

    C语言 链表基础知识清晰讲解(黑马) 讲的蛮好,就是音质不太好,有时听不清讲的啥! [黑马]数据结构与算法之线性表(链表/栈/队列/顺序表)[配套源码 嘛蛋,看错了,这是java的... 文章目录 链 ...

  8. (链表 栈 队列 递归)

    文章目录 链表 反转链表 删除点链表中给定值的结点 栈和队列 双向链表实现栈和队列 数组实现队列 获取栈的最小值 用两个栈实现一个队列 用两个队列实现一个栈 递归 链表 反转链表 (反转单链表 反转双 ...

  9. 数据结构链表之队列,Python3实现——7

    数据结构链表之队列 队列概述 定义:队列是一种基于先进先出(FIFO)的数据结构,队列只能在一段进行插入和删除操作的结构,第一个进入队列的元素在读取时会第一个被读取 队列可以使用顺序表(Python中 ...

最新文章

  1. TeamViewer介绍:远程控制计算机
  2. Freetype library not found问题解决
  3. [转]关于int整形变量占有字节问题
  4. C51单片机各种名词英文全称汇总
  5. java 语法 —— 数组
  6. Mongodb Geo2d索引原理
  7. python 爬取妹子图
  8. php编写 密码检查,php-检查旧密码和新密码的规则
  9. 接口测试用例设计(详细干货)
  10. ArcGIS地形图地形标注详解(附练习数据下载)
  11. Tips-不下载PS制作电子签名
  12. phpnow安装教程
  13. FPGA mpsoc vitis SDK PMU-FW is not running, certain application may not be supported
  14. Isaac SDK Sim 环境
  15. 在线生成安卓APP图标
  16. 智慧社区综合信息服务平台,让你的社区更智能
  17. 为什么每次圣斗士出招前都要大喊一下大招?
  18. 计算机程序专利实用新型,涉及计算机程序的实用新型专利保护的思考
  19. 半同态加密paillier 示例
  20. [Swift]LeetCode832. 翻转图像 | Flipping an Image

热门文章

  1. PyTorch最佳实践,怎样才能写出一手风格优美的代码
  2. 补习系列(4)-springboot 参数校验详解
  3. 4j设置文件保存天数_文件备份很麻烦,各种工作不知道怎么选择,容器时代的备份方案!...
  4. 无线打印 airprint 服务器,Docker容器实现Airprint 打印服务器功能
  5. LaTeX学习经验与常用文档
  6. jQuery版Ajax的使用
  7. script链接标签前置无法读取的解决
  8. easyui修改css样式,修改easyui的easyloader的默认css目录路径
  9. 23_python基础—模块和包
  10. pytest命令行传参