C语言队列实现

简介: 一,简介开发环境是VC6.0,实现了一个基于C语言的队列。主要功能,入队、出队、显示当前队列元素。

二,代码实现

//队列演示
#include<stdio.h>
#define QUEUE_LENGTH 100
//仅能处理非负整数
struct Queue 
{
  int element[QUEUE_LENGTH];
  int head;
  int tail;
};
int QueueIn(struct Queue* p,int num)
{
  //满了
  if(p->tail>QUEUE_LENGTH-1)
  {
    return -1;
  }
  p->element[p->tail]=num;
  p->tail++;
  return 1;
}
int QueueOut(struct Queue* p)
{
  if(p->head==p->tail)
    return -1;
  return  p->element[p->head++];
}
void PrintQueue(struct Queue* p)
{
  int position=p->head;
  while(position!=p->tail)
  {
    printf("%d ",p->element[position]);
    position++;
  }
  printf("\n");
}
int main()
{
  //初始化
  struct Queue queue;
  queue.head=0;
  queue.tail=0;
  QueueIn(&queue,1);
  QueueIn(&queue,2);
  PrintQueue(&queue);
  QueueOut(&queue);
  PrintQueue(&queue);
  QueueOut(&queue);
  PrintQueue(&queue);
  QueueOut(&queue);
  PrintQueue(&queue);
  QueueIn(&queue,3);
  PrintQueue(&queue);
  return 1;
}


相关文章
|
1月前
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
191 9
|
7月前
|
C语言
顺序队列的初始化、进队和出队(C语言)
顺序队列的初始化、进队和出队(C语言)
56 1
|
7月前
|
Linux C语言
Linux系统下C语言的队列操作
Linux系统下C语言的队列操作
152 0
|
C语言
【C语言数据结构(基础版)】第四站:栈和队列
【C语言数据结构(基础版)】第四站:栈和队列
79 0
|
24天前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
46 5
|
3月前
|
存储 C语言
数据结构基础详解(C语言): 栈与队列的详解附完整代码
栈是一种仅允许在一端进行插入和删除操作的线性表,常用于解决括号匹配、函数调用等问题。栈分为顺序栈和链栈,顺序栈使用数组存储,链栈基于单链表实现。栈的主要操作包括初始化、销毁、入栈、出栈等。栈的应用广泛,如表达式求值、递归等场景。栈的顺序存储结构由数组和栈顶指针构成,链栈则基于单链表的头插法实现。
517 3
|
6月前
|
C语言 C++
【数据结构】C语言实现:栈(Stack)与队列(Queue)
【数据结构】C语言实现:栈(Stack)与队列(Queue)
|
6月前
数据结构——队列(C语言版)
数据结构——队列(C语言版)
48 0
|
7月前
|
算法 C语言 容器
纯c语言模拟栈和队列(初学必看)
纯c语言模拟栈和队列(初学必看)
|
7月前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解