国产探花免费观看_亚洲丰满少妇自慰呻吟_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武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥棱县| 白山市| 贵州省| 汶上县| 永胜县| 疏勒县| 濮阳县| 涞水县| 武宣县| 旬邑县| 略阳县| 抚顺市| 梁平县| 资溪县| 广昌县| 敖汉旗| 永善县| 富宁县| 太和县| 玉山县| 延长县| 光山县| 运城市| 军事| 普兰县| 安庆市| 仙居县| 那坡县| 定襄县| 武义县| 连山| 栾城县| 宁安市| 延吉市| 龙口市| 潼南县| 秦皇岛市| 湾仔区| 东台市| 望江县| 柳河县|