海外网站导航,有没有专门做策划的公司,阜宁做网站的公司电话,网站优化系统链队的练习
相关内容#xff1a;队列的链式存储结构#xff08;链队#xff09;
//链队的初始化、入队、出队、取对头
#includestdio.h
#includemalloc.h
#define OK 1
#define ERROR 0
typedef int Status;
//结点结构
typedef struct QNode{ int data; …链队的练习
相关内容队列的链式存储结构链队
//链队的初始化、入队、出队、取对头
#includestdio.h
#includemalloc.h
#define OK 1
#define ERROR 0
typedef int Status;
//结点结构
typedef struct QNode{ int data; //结点数据域struct QNode *next; //结点指针域
}QNode,*QueuePtr; //指向队中结点的指针QueuePtr
//链队结构
typedef struct{ QueuePtr front; //队头指针指向队列头结点QueuePtr rear; //队尾指针指向队列尾结点
}LinkQueue; //链队指针
//初始化新建头结点、将队头和队尾指针指向头结点
Status InitLinkQueue(LinkQueue *LQ){QueuePtr p;//新建头结点p(QNode*)malloc(sizeof(QNode));p-nextNULL;//头结点指针域置空LQ-frontLQ-rearp;//队头和队尾指针指向头结点return OK;
}
//入队限定在队尾操作
Status EnLinkQueue(LinkQueue *LQ,int e){QueuePtr s;//新建结点s(QNode*)malloc(sizeof(QNode));s-datae;s-nextNULL;//尾插操作LQ-rear-nexts;//原队尾结点指向新结点LQ-rears;//后移队尾指针将新结点作为新队尾return OK;
}
//出队限定在队头操作
Status DeLinkQueue(LinkQueue *LQ,int *e){if (LQ-frontLQ-rear)//判空return ERROR;QueuePtr p;//指向队中结点的指针p//LQ-front指向头结点LQ-front-next指向首元结点pLQ-front-next;//让p指向首元结点*ep-data;//取出队头元素LQ-front-nextp-next;//头结点的指针域指向待删结点的下一个结点if (LQ-rearp)//如果待删首元结点p为最后一个结点LQ-rearLQ-front;//恢复初始状态free(p);//删除首元结点return OK;
}
int GetHead(LinkQueue *LQ){if (LQ-front ! LQ-rear)return LQ-front-next-data;//首元结点数据return ERROR;
}
int main(){int n,e;LinkQueue LQ;InitLinkQueue(LQ);printf(Init Completed!\n);printf(输入入队元素个数:);scanf(%d,n);for (size_t i 0; i n; i){printf(输入第%d个入队元素:,i1);scanf(%d,e);EnLinkQueue(LQ,e);}printf(队头元素:%d\n,GetHead(LQ));for (size_t i 0; i n; i){printf(输出第%d个出队元素:,i1);DeLinkQueue(LQ,e);printf(%d\n,e);}return 0;
}