门户建设是什么意思,优化网站页面,专业做网络推广的公司,如何做文档附网站文章目录 牺牲一个存储空间来区分队空和队满设置size数据成员#xff0c;表示队列当前长度设置tag数据成员 牺牲一个存储空间来区分队空和队满
缺点#xff1a; 有一个单元无法利用
定义
#define MaxSize 10
typedef struct{ElemType data[MaxSize];int front,rear;
}SqQu… 文章目录 牺牲一个存储空间来区分队空和队满设置size数据成员表示队列当前长度设置tag数据成员 牺牲一个存储空间来区分队空和队满
缺点 有一个单元无法利用
定义
#define MaxSize 10
typedef struct{ElemType data[MaxSize];int front,rear;
}SqQueue;初始化
void InitSqQueue(SqQueue Q){Q.rearQ.front0;
}入队
bool EnQueue(SqQueue Q,ElemType x){if((Q.rear1)%MaxSizeQ.front) //当队满return false;Q.data[Q.rear]x;Q.rear(Q.rear1)%MaxSize;return true;
}出队
bool DeQueue(SqQueue Q,ElemType x){if(Q.frontQ.rear) //当队空return false;xQ.data[Q.front];Q.front(Q.front1)%MaxSize;return true;
}判断队列是否为空
bool QueueEmpty(SqQueue Q){if(Q.rearQ.front)return true;return false;
}获得队头元素
bool GetHead(SqQueue Q,ElemType x){if(Q.frontQ.rear)return false;xQ.data[Q.front];return true;
}设置size数据成员表示队列当前长度
定义
#define MaxSize 10
typedef struct{ElemType data[MaxSize];int front,rear;int size;
}SqQueue;初始化
void InitSqQueue(SqQueue Q){Q.rearQ.front0;Q.size0;
}入队
bool EnQueue(SqQueue Q,ElemType x){if(Q.sizeMaxSize)return false;Q.data[Q.rear]x;Q.rear(Q.rear1)%MaxSize;Q.size;
}出队
bool DeQueue(SqQueue Q,ElemType x){if(Q.Size0)return false;xQ.data[Q.front];Q.front(Q.front1)%MaxSize;Q.size--;return true;
}判断队列是否为空
bool QueueEmpty(SqQueue Q){if(Q.size0)return true;return false;
}获得队头元素
bool GetHead(SqQueue Q,ElemType x){if(Q.size0)return false;xQ.data[Q.front];return true;
}设置tag数据成员
定义
#define MaxSize 10
typedef struct{ElemType data[MaxSize];int front,rear;int tag; //最近进行的是删除-0/插入-1
}SqQueue;初始化
void InitSqQueue(SqQueue Q){Q.rearQ.front0;Q.tag0;
}入队
bool EnQueue(SqQueue Q,ElemType x){if(Q.frontQ.reartag1) //若队满return false;Q.data[Q.rear]x;Q.rear(Q.rear1)%MaxSize;Q.size;
}出队
bool DeQueue(SqQueue Q,ElemType x){if(Q.frontQ.reartag0) //若队空return false;xQ.data[Q.front];Q.front(Q.front1)%MaxSize;Q.size--;return true;
}判断队列是否为空
bool QueueEmpty(SqQueue Q){if(Q.frontQ.reartag0)return true;return false;
}获得队头元素
bool GetHead(SqQueue Q,ElemType x){if(Q.frontQ.reartag0)return false;xQ.data[Q.front];return true;
}