队列问题(c)
来源:互联网 发布:哈达迪在nba的数据 编辑:程序博客网 时间:2024/06/11 07:38
///////////// .h //////
#define N 100
typedef char datatype;
//队列问题
struct queue
{
datatype data[N];
int front;//对头
int rear;//队尾
};
typedef struct queue QUEUE;
void initQueue(QUEUE * sq);
int isempyty(QUEUE *sq);
datatype getHead(QUEUE *sq);
void enQUEUE(QUEUE *sq, datatype data);
datatype deQUEUE(QUEUE *sq);
void showQUEUE(QUEUE *sq);
////////////////////////////////////// .c //////////////////////
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdlib.h>
#include <string>
#include "stackNode.h"
#define N 100
typedef char datatype;
//队列问题
//struct queue
//{
//
// datatype data[N];
// int front;//对头
// int rear;//队尾
//};
void initQueue(QUEUE * sq)
{
//实现队列初始化
sq->front = sq->rear = 0;
}
int isempyty(QUEUE *sq)
{
if (sq->front == sq->rear)
{
return 1;//位空
}
else
{
return 0;
}
}
datatype getHead(QUEUE *sq)
{
if (sq->front == sq->rear)
{
return 1;
}
return sq->data[sq->front];
}
void enQUEUE(QUEUE *sq, datatype data)
{
if (sq->rear == N)
{
printf("队列已经满了!");
return;
}
else
{
sq->data[sq->rear] = data;//入队
sq->rear++;//往前移动一个
}
}
datatype deQUEUE(QUEUE *sq)
{
if (sq->front == sq->rear)//判断队列是否为空
{
printf("队列为空!");
return -1;
}
else
{
sq->front++;//删除一个元素,向前移动一个
return sq->data[sq->front - 1];//出队
}
}
void showQUEUE(QUEUE *sq)
{
if (sq->front == sq->rear)//判断队列是否为空
{
printf("队列为空!");
return ;
}
else
{
for (int i = sq->front; i < sq->rear; i++)
{
printf("sq data :%c\n", sq->data[i]);
}
}
}
void main()
{
QUEUE q1;
//q1 = NULL;
initQueue(&q1);
char *str = "abcdefg";
char *p = str;
while (*p != '\0')
{
enQUEUE(&q1, *p); //字符入队
showQUEUE(&q1);//显示队列所有的元素
p++;
}
printf("对头的数据:%c\n\n\n", getHead(&q1));
while (!isempyty(&q1))
{
printf("出兑的数据:%c\n", deQUEUE(&q1));
}
system("pause");
}
- 队列问题(c)
- 【C】队列报数问题
- c队列与结构体问题
- 数据结构 C语言 队列 迷宫问题
- 螺旋队列问题之c语言
- C 队列
- 队列(C#)
- C 队列
- C+队列
- C 队列
- O(NlgK)问题队列头文件C语言
- O(NlgK)问题队列实现文件C语言
- O(NlgK)问题优先队列头文件C语言
- O(NlgK)问题优先队列实现文件C语言
- (C#)使用队列(Queue)解决简单的并发问题
- 数据结构 c语言 循环队列实现扑克牌问题
- C#:消息队列应用程序
- C#:消息队列应用程序
- Android之UI进阶(2)自定义属性
- nginx的upstream目前支持5种方式的分配
- 基于rt-thread+lwip源码分析-LWIP的IP层数据处理代码解析(lwip源码解析二)
- 利用HttpURLConnection发送post请求上传文件
- html+servlet实现多图片异步上传
- 队列问题(c)
- Java基础一
- Web Service单元测试工具实例介绍之SoapUI .
- 上传图片的同时,用时间戳命名。精确度为秒。
- shell 脚本多行注释
- 详解sqlite
- linux sudo
- Cookie和Session区别和联系
- MySQL 创建表时,设置时间字段自动插入当前时间