#include<iostream>
#include<cstdio>
using namespace std;
#define MAXSIZE 100
typedef int Status;
typedef int Elem;
typedef struct QNode
{
Elem data;
struct QNode *next;
}QNode, *QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
Status InitQueue(LinkQueue &Q)
{
Q.front = Q.rear = new QNode;
Q.front->next = NULL;
return 1;
}
Status EnQueue_H(LinkQueue &Q, Elem e)
{
QNode *p = new QNode;
p->data = e;
p->next = NULL;
Q.rear->next = p;
Q.rear = p;
return 1;
}
Status DeQueue(LinkQueue &Q, Elem &e)
{
if (Q.rear == Q.front) return 0;
QNode *p = Q.front->next;
e = p->data;
Q.front->next = p->next;
if (Q.rear == p) Q.rear = Q.front;
delete p;
return 1;
}
Elem GetHead(LinkQueue &Q)
{
if (Q.front != Q.rear)
return Q.front->next->data;
return 0;
}
int main()
{
LinkQueue Q;
InitQueue(Q);
EnQueue_H(Q, 1);
cout << GetHead(Q);
Elem e = 0;
DeQueue(Q, e);
cout << GetHead(Q);
return 1;
}
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2023-06-10 [算法]归并排序 原创