zoukankan      html  css  js  c++  java
  • 20.链式队列

    运行截图:

    完整代码:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 #define datatype int
     5 
     6 typedef struct queue
     7 {
     8     datatype data;
     9     struct queue *pNext;
    10 }Queue,*PQueue;
    11 
    12 //入队 从尾部入,从头部出
    13 PQueue enq(PQueue phead, datatype data)
    14 {
    15     PQueue pnew = (PQueue)malloc(sizeof(Queue));
    16     pnew->data = data;
    17     pnew->pNext = NULL;
    18     if (phead == NULL)
    19     {
    20         phead = pnew;//直接插入
    21     }
    22     else
    23     {
    24         PQueue ptemp = phead;
    25         //循环到尾部
    26         while (ptemp->pNext != NULL)
    27         {
    28             ptemp = ptemp->pNext;
    29         }
    30         ptemp->pNext = pnew;//尾部插入
    31     }
    32     return phead;
    33 }
    34 
    35 //出队
    36 PQueue deq(PQueue phead, datatype *pdata)
    37 {
    38     if (phead == NULL)
    39     {
    40         return NULL;
    41     }
    42     else
    43     {
    44         *pdata = phead->data;//获取弹出的数据
    45         PQueue ptemp = phead->pNext;
    46         free(phead);
    47         phead = ptemp;
    48     }
    49 }
    50 
    51 //显示
    52 void show(PQueue phead)
    53 {
    54     if (phead == NULL)
    55     {
    56         return;
    57     }
    58     else
    59     {
    60         printf("%5d", phead->data);
    61         show(phead->pNext);//递归调用
    62     }
    63 }
    64 
    65 void main()
    66 {
    67     Queue *phead = NULL;
    68     for (int i = 0; i < 10; i++)
    69     {
    70         phead = enq(phead, i);
    71         printf("
    queue");
    72         show(phead);
    73     }
    74 
    75     while (phead != NULL)
    76     {
    77         datatype data;
    78         phead = deq(phead, &data);
    79         printf("
    dequeue%d", data);
    80         printf("
    queue");
    81         show(phead);
    82     }
    83 
    84     system("pause");
    85 }
  • 相关阅读:
    主键为整型数据库设计
    raid1与raid5
    asp.net限时发送手机验证码
    利用jQuery与.ashx完成简单的Ajax
    Solr使用in语法查询
    Solr高效利用:Solr实现SQL的查询与统计
    lucene 的评分机制
    fastcgi配置
    安装elasticsearch及中文IK和近义词配置
    php多进程处理
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8400126.html
Copyright © 2011-2022 走看看