zoukankan      html  css  js  c++  java
  • 链表队列

    链表队列

     链表队列是受到限制的单向链表,采用链式存储结构,符合队列先进先出逻辑。

    构造链式队列

     使用一个结构体来构造一个链表队列,其中成员num用于存储数据,*next使用指向下一个节点。

    typedef struct list_queue
    {
        int num ;
        struct list_queue * next ;
    }Queue;
    
    

    插入数据

    Queue *add_queue(Queue *head, Queue *new)
    {
        Queue *tmp = head;  
    
        if (head == NULL)
        {
            tmp = new;
            return tmp;
        }
    
        while(tmp->next != NULL)
        {
            tmp = tmp->next;
        }
    
        tmp->next = new;
    
        return  head;
    }
    

    注意:
    参数head和new的初始值为NULL。

    读取数据

    Queue *ex_queue(Queue *head, Queue *ex)
    {
        if (head == NULL)
        {
            printf("The current queue is empty!!
    ");
            return  NULL;
        }
    
        Queue *tmp = head;
        head = tmp->next;
        tmp->next = NULL;
    
        (*ex).next = tmp->next;
        (*ex).num = tmp->num
    
        return head;
    }
    

    测试程序

    int main(int argc, char const *argv[])
    {
        Queue *head = NULL;
    
        //入队
        Queue *new = NULL;
        for (int i = 0; i < 10; i++)
        {
            new = new_node(i);
            printf("num:%d
    ", new->num);
            head  = add_queue(head, new);
        }
        printf("-----------------------------------------
    ");
        //出队
        Queue ex_data;
        for (int i = 0; i < 10; i++)
        {
            head = ex_queue(head, &ex_data);
            printf("data:%d
    ", ex_data.num);
        }
        return 0;
    }
    
  • 相关阅读:
    java-正则表达式6
    java-正则表达式5
    java-正则表达式4
    java-正则表达式3
    java-正则表达式2
    12.5
    JAVA GUI随笔
    JAVA个人知识总结
    UML关系图
    JAVA中的聚集和组合的区别和联系
  • 原文地址:https://www.cnblogs.com/ding-ding-light/p/14124097.html
Copyright © 2011-2022 走看看