前言
顺序队列的入队,出队,从键盘输入一组数并统计正数负数个数
一、完整代码
#include <stdio.h>
#define QueueSize 20
//typedef int DataType ;
#define DataType int
typedef struct {
DataType data[QueueSize];
int front;
int rear;
int count;
}Queue;
//初始化队列
void InitQueue(Queue *Q)
{
Q->front = 0;
Q->rear = 0;
Q->count = 0;
}
//队列是否空
int QueueEmpty(Queue *Q)
{
return (Q->count == 0);
}
//队列是否满
int QueueFull(Queue *Q)
{
return (Q->count == QueueSize);
}
//入队
void EnQueue(Queue *Q, DataType x)
{
if(QueueFull(Q))
printf("Error, the queue is full!");
Q->data[Q->rear] = x;
Q->rear = (Q->rear+1)%QueueSize;
Q->count++;
}
//出队
DataType DeQueue(Queue *Q)
{
DataType i;
if(QueueEmpty(Q))
printf("Error, the queue is empty");
i = Q->data[Q->front];
Q->front = (Q->front+1)%QueueSize;
Q->count--;
return i;
}
//头
DataType ReadQueue(Queue *Q)
{
DataType i;
if(QueueEmpty(Q))
printf("Error, the queue is empty");
i = Q->data[Q->front];
return i;
}
int main()
{
Queue Q, *Q1;
InitQueue(&Q);
int count,num,flag;
int i = 0;
int x = 0;
printf("输入队列初始化大小:");
scanf("%d",&count);
printf("输入%d个队列元素",count);
while(i++<count){
scanf("%d",&num);
EnQueue(&Q,num);
}
int counts,fu;
printf("输出队列:");
/*while(!QueueEmpty(&Q)){
printf("%d\t",DeQueue(&Q));
}*/
while(!QueueEmpty(&Q)){
if(DeQueue(&Q)>0){
counts++;
}else{
fu++;
}}
printf("正数个数%d,负数个数%d\n",counts-1,fu);
}
总结
数据结构队列的运用。
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。