简单记录下自己的学习进度
看完书自己写一遍,结果查错了好久,不过好在,能跑
#include <stdio.h>
#include <stdlib.h>
#define ERROR 1
#define OK 0
typedef struct Qlinklist{
int data;
struct QlistNode* next;
}*Qlist,QlistNode;
typedef struct Queuelink
{
Qlist front;
Qlist rear;//指向结构变量的指针
}Queuelink,*Qlink;
int CreateQ(Qlink *Q){
*Q = malloc(sizeof(Queuelink));
(*Q)->front = (*Q)->rear = malloc(sizeof(QlistNode));
(*Q)->rear->next = NULL;
printf("初始化成功\n");
return OK;
}
int PushQ(Qlink *Q,int push){
QlistNode *p = (QlistNode*)malloc(sizeof(QlistNode));
p->data = push;
p->next = NULL;//让p指向空
(*Q)->rear->next = p;//将队尾指向p
(*Q)->rear = p;//将对位设置为p
printf("插入成功\n");
return OK;
}
int PopQ(Qlink *Q){
QlistNode *p = (QlistNode*)malloc(sizeof(QlistNode));
p = (*Q)->front->next;
(*Q)->front->next = p->next;
free(p);
printf("删除成功\n");
return OK;
}
int ShowQ(Qlink *Q){
QlistNode *p = (*Q)->front->next;
while(p != NULL){
printf("%d,",p->data);
p = p->next;
}
}
int main(){
Qlink Q;
CreateQ(&Q);
PushQ(&Q,1);
PushQ(&Q,2);
PushQ(&Q,3);
ShowQ(&Q);
PopQ(&Q);
ShowQ(&Q);
system("pause");
}