数据结构(链队列

简介: 数据结构(链队列

1. 讲解:

2. C++代码实现:

#include <stdlib.h>
#include <iostream>

using namespace std;

#define ElemType int

typedef struct LinkNode{
  ElemType data;
  struct LinkNode* next;
}LinkNode;

typedef struct {
  LinkNode* front, * rear;
}LinkQueue;

// 初始化
void InitQueue(LinkQueue& Q) {
  Q.front = Q.rear = (LinkNode*)malloc(sizeof(LinkNode));
  Q.front->next = NULL;
}

// 判断是否为空
bool IsEmpty(LinkQueue Q) {
  if (Q.front == Q.rear) return true;
  else return false;
}

// 入队
bool EnQueue(LinkQueue& Q, ElemType e) {
  LinkNode* s = (LinkNode*)malloc(sizeof(LinkNode));
  if (s == NULL) return false;
  s->data = e;
  s->next = NULL;
  Q.rear->next = s;
  Q.rear = s;
}

// 出队
bool DeQueue(LinkQueue& Q, ElemType& e) {
  if (IsEmpty(Q)) return false; // 空队

  LinkNode* s = Q.front->next;
  Q.front->next = s->next;
  e = s->data;
  if (s == Q.rear) {        // 最后一个元素出队时
    Q.rear = Q.front;
  }
  free(s);
  return true;
}

int main() {
  LinkQueue Q;
  InitQueue(Q); // 初始化队列

  // 入队操作
  for (int i = 1; i <= 5; ++i) {
    EnQueue(Q, i * 10);
    cout << "入队元素:" << i * 10 << endl;
  }

  // 出队操作
  ElemType e;
  while (!IsEmpty(Q)) {
    DeQueue(Q, e);
    cout << "出队元素:" << e << endl;
  }

  return 0;
}
目录
相关文章
|
4天前
|
存储 编译器 C语言
【数据结构】C语言实现链队列(附完整运行代码)
【数据结构】C语言实现链队列(附完整运行代码)
43 0
|
11月前
|
C语言
【数据结构】链队列的C语言实现
【数据结构】链队列的C语言实现
|
存储 缓存 算法
【数据结构】队列(循环队列和链队列)详细讲解各种操作
【数据结构】队列(循环队列和链队列)详细讲解各种操作
629 0
|
存储 算法 测试技术
追梦之旅【数据结构篇】——详解C语言实现链队列
详解C语言实现链队列~😎 前言🙌 整体实现内容分析💞 预备小知识🙌 1.链队列头文件编写🙌 2.链队列功能文件(Queue.c )编写:🙌 1)初始化函数实现 2)销毁函数实现 3)队尾插入元素函数实现 4)队头删除元素函数实现 5)获取队头元素函数实现 6)获取队尾元素函数实现 7)获取队列元素个数的函数实现 8)判空函数实现 3.链队列测试文件编写🙌 总结撒花💞
97 0
【数据结构初阶】一文详解顺序栈和链队列的基本操作(下)
【数据结构初阶】一文详解顺序栈和链队列的基本操作
54 0
【数据结构初阶】一文详解顺序栈和链队列的基本操作(下)
【数据结构初阶】一文详解顺序栈和链队列的基本操作(上)
【数据结构初阶】一文详解顺序栈和链队列的基本操作
70 0
【数据结构初阶】一文详解顺序栈和链队列的基本操作(上)
数据结构项目——循环队列与链队列
数据结构项目——循环队列与链队列
167 0
数据结构项目——循环队列与链队列
|
C++
数据结构——链队列
数据结构——链队列
198 0
数据结构——链队列
|
3天前
|
前端开发 JavaScript 算法
JavaScript 中实现常见数据结构:栈、队列与树
JavaScript 中实现常见数据结构:栈、队列与树
|
4天前
|
存储 NoSQL C语言
数据结构——顺序栈与链式栈的实现-2
数据结构——顺序栈与链式栈的实现
数据结构——顺序栈与链式栈的实现-2