首页 > 代码库 > 链式队列定义、插入、删除
链式队列定义、插入、删除
#include <stdio.h>#include <stdlib.h>#define ElemType inttypedef struct QNode{ ElemType data;//定义队列中的元素 struct QNode *next;}QNode;typedef struct LinkQueue{ QNode *front; QNode *rear;}LinkQueue;//定义一个队列,队列只有一个头指针和一个尾指针//队列的初始化void InitQueue(LinkQueue *q){ q->front = (LinkQueue*)malloc(sizeof(QNode)); if(!q->front) { exit(0); } q->rear = q->front; q->front->next = NULL;}//队列的插入void InsertQueue(LinkQueue *p,ElemType *e)//队列为p,要插入的元素为e,队列的rear指针指向队列的最后一个元素。队列的front指针指向头结点,头结点无元素{ QNode *ptr; ptr = (LinkQueue*)malloc(sizeof(QNode)); ptr->data = http://www.mamicode.com/*e;"%2d",e); } return 0;}
输入一个字符串以字符‘#‘结束,在屏幕上打印出来
#include <stdio.h>#include <stdlib.h>#define M 100#define ElemType chartypedef struct QNode{ ElemType data;//定义队列中的元素 struct QNode *next;}QNode;typedef struct LinkQueue{ QNode *front; QNode *rear;}LinkQueue;//定义一个队列,队列只有一个头指针和一个尾指针//队列的初始化void InitQueue(LinkQueue *q){ q->front = (LinkQueue*)malloc(sizeof(QNode)); if(!q->front) { exit(0); } q->rear = q->front; q->front->next = NULL;}//队列的插入void InsertQueue(LinkQueue *p,ElemType *e)//队列为p,要插入的元素为e,队列的rear指针指向队列的最后一个元素。队列的front指针指向头结点,头结点无元素{ QNode *ptr; ptr = (LinkQueue*)malloc(sizeof(QNode)); ptr->data = http://www.mamicode.com/*e;"输入字符串:\n"); scanf("%c",&c); while(c != ‘#‘) { InsertQueue(&p,&c); len++; scanf("%c",&c); } printf("字符串为:\n"); for(i = 1;i <= len;i++) { DeleteQueue(&p,&e); printf("%c",e); } return 0;}
链式队列定义、插入、删除
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。