c++链式队列:使用结构体指针变量,vs警告读写错误
错误提示:
变量检测
完整代码
#include<iostream>
#include<stdio.h>
using namespace std;
//队列结构体定义
typedef int ElementType;
struct Node { /* 队列中的结点 */
ElementType Data;
struct Node* Next;
};
//typedef struct Node* Position;
struct QNode {
//Position Front, Rear; /* 队列的头、尾指针 */
Node* Front, * Rear;
//int MaxSize; /* 队列最大容量 */
};
typedef struct QNode* Queue;
//初始化
void cs(Queue& q) {
q->Front = q->Rear = NULL;
}
//入队
void add(Queue& q,ElementType& e) {
//Position s = (Position)malloc(sizeof(Node));
Node* s = new Node;
s->Data = e;
s->Next = NULL;
if (q->Front == NULL) {
q->Front = q->Rear = s;
}
else {
q->Rear->Next = s;
q->Rear = s;
}
}
//出队
void remove(Queue& q) {
if (q->Front == NULL) {
cout << "\n队列为空!" << endl;
}
else {
Node* t = q->Front;
q->Front = q->Front->Next;
cout << "\n删除的队列元素是" << t->Data << endl;
delete t;
}
}
//遍历
//主函数
int main() {
Queue q;
ElementType m = 99;
cs(q);
add(q, m);
remove(q);
return 0;
}