数据结构之---C语言实现循环队列
来源:互联网 发布:淘宝杂货铺知乎 编辑:程序博客网 时间:2024/04/29 17:53
//循环队列//杨鑫#include <stdio.h> #include <stdlib.h>#define MAXSIZE 10 typedef int QElemType;typedef struct queue{ QElemType elem[MAXSIZE]; int front;int rear; }SqQueue; //定义队头 int init_Queue(SqQueue **q) //初始化 { (*q)->front= 0; (*q)->rear = 0; } int is_Full(SqQueue *q) { if(q->front == (q->rear + 1) % MAXSIZE) //判满 刘勉刚 return 1; else return 0; } int insert_Queue(SqQueue **q, QElemType elem) { if(is_Full(*q)) return -1; (*q)->elem[(*q)->rear] = elem; (*q)->rear = ((*q)->rear + 1) % MAXSIZE; //插入 return 0; } int is_Empty(SqQueue *q) { if(q->front == q->rear) //判空 return 1; else return 0; } int delete_Queue(SqQueue ** q, QElemType *pelem) { if(is_Empty(*q)) return 0; *pelem = (*q)->elem[(*q)->front]; (*q)->front = ((*q)->front + 1)%MAXSIZE; return 0; } int main() { int i=0, elem, count = 0; SqQueue *q=(SqQueue *)malloc(sizeof(SqQueue)); init_Queue(&q); printf("=========================分割线=====================\n");printf("正在向循环队列中插入元素!\n");for(i = 0; i < 10; i++) { insert_Queue(&q, i); count++;} printf("入队完毕!\n");printf("=========================分割线=====================\n");printf("循环队列中共有元素: %d 个\n", count);printf("循环队列中的元素有:\n");for(i = 0; i < count; i++){printf("%d\t", i);}printf("\n");printf("=========================分割线=====================\n");printf("删除队列中前5个元素:\n");printf("正在删除请稍后:\n");for(i = 0; i < 4; i++) { delete_Queue(&q, &elem); printf("将:%d 删除\n", elem); count--;} printf("=========================分割线=====================\n");printf("循环队列中共有元素: %d 个\n", count);printf("删除操作后循环队列中的元素有:\n");for(i = 1; i <= count; i++){printf("%d\t", elem+i);}printf("\n");printf("=========================分割线=====================\n");return 0; }
结果如图:
0 0
- 数据结构C语言实现之循环队列
- 数据结构C语言实现之循环队列
- 数据结构之---C语言实现循环队列
- 数据结构C语言实现之循环队列----数组形式---简单化
- 数据结构基础之循环队列C语言实现
- 数据结构(C语言)实现循环队列
- 数据结构.循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- C语言数据结构之循环队列
- Fragment和FragmentActivity的使用方法
- OpenGl 第七章:纹理映射 (texture mapping)
- IIS发布评教系统
- 总结去年11月到现在学习python的过程
- Java查找重复数据
- 数据结构之---C语言实现循环队列
- AUDIO驱动点检表
- 第二章:MongoDB简单的增删改查
- Android虚拟机中添加sdcard
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- linux下阅读源代码的工具
- 如何使用github现成的模板搭建博客
- SQLite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 param
- eclipse mac版 快捷键