国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C語言實現鏈隊列代碼

2020-05-23 13:29:45
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言實現鏈隊列的具體代碼,供大家參考,具體內容如下

#include <stdio.h>/* 隊列的結構體 */typedef int DataType;#define NODE_LEN sizeof(NODE) /* 隊列的節點 */typedef struct stNode{  DataType data;  struct stNode* next;}NODE;/* 隊列 */typedef struct stQueue{  NODE* head; //隊列的頭  NODE* tail; //隊列的尾}QUEUE;/* 初始化隊列,不帶頭結點*/int initQueue(QUEUE* INQueue){  INQueue->head = NULL;  INQueue->tail = NULL;  return 0;}/* 從隊尾插入一個元素 */int enQueue(QUEUE* InQueue,DataType InData){  NODE* pNewNode = (NODE*)malloc(NODE_LEN);  if (pNewNode == NULL)  {    return -1;  }  pNewNode->data = InData;  pNewNode->next = NULL;  /* 判斷,現在隊列里面有沒有節點 */  if (InQueue->head == NULL)  {    InQueue->head = pNewNode;    InQueue->tail = pNewNode;  }  else  {    InQueue->tail->next = pNewNode;    InQueue->tail = pNewNode;  }  return 0;}/* 遍歷該隊列 */int visitQueue(QUEUE InQueue){  QUEUE* pstTemp = &InQueue;  /* 判斷隊列是否為空隊列 */  if (pstTemp->head == NULL)  {    printf("visitQueue: this queue is empty/n");    return -1;  }  /* 遍歷該隊列中的所有元素 */  while (pstTemp->head->next != NULL)  {    printf("%d ", pstTemp->head->data);    pstTemp->head = pstTemp->head->next;  }  printf("%d /n", pstTemp->head->data);  return 0;}/* 出隊列 */int delQueue(QUEUE* InQueue,DataType* OutData){  if (InQueue->head == NULL)  {    printf("delQueue: this queue is empty/n");    return -1;  }  *OutData = InQueue->head->data;  NODE* pstTemp = InQueue->head;  InQueue->head = InQueue->head->next;  delete pstTemp;  return 0;}/* 判斷隊列是否是空隊列 */int isEmptyQueue(QUEUE InQueue){  if (InQueue.head == NULL)  {    return 0; //是空隊列  }  return 1; //不是空隊列}int main(){  /* 創建一個隊列 */  QUEUE queue;  DataType data;  initQueue(&queue);  /* 入隊列 */  enQueue(&queue, 12);  enQueue(&queue, 11);  enQueue(&queue, 2);  visitQueue(queue);  /* 出隊列 */  delQueue(&queue, &data);  visitQueue(queue);  printf("data = %d/n", data);  visitQueue(queue);  if (0 == isEmptyQueue(queue))  {    printf("This is empty queue/n");  }  else  {    printf("This is not empty queue/n");  }  return 0;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涟源市| 郑州市| 合肥市| 纳雍县| 平原县| 涟源市| 越西县| 岳池县| 彭水| 灵台县| 兰考县| 揭西县| 富川| 抚顺市| 唐山市| 鄢陵县| 克东县| 六安市| 灵川县| 南康市| 临江市| 凉城县| 东阳市| 新平| 南郑县| 盐池县| 增城市| 长顺县| 怀柔区| 安阳县| 双鸭山市| 雷山县| 衡阳市| 河池市| 汝南县| 麦盖提县| 锦州市| 天水市| 西平县| 南充市| 平江县|