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

    /*用链表生成队列,队列是特殊的链表,这允许在尾部插入,队头删除*/
    #include <iostream>
    using namespace std;
    typedef struct Node{
        int element;
        Node* pNext;
    }Node,*LinkList;
    typedef struct  
    {
        LinkList head;
        LinkList tail;
    }Queue;
    void InitQueue(Queue& queue)
    {
        queue.head=(LinkList)malloc(sizeof(Node));
        queue.head->pNext=NULL;
        queue.tail=queue.head;
    }
    void EnQueue(Queue& queue,int element)
    {
        LinkList temp=(LinkList)malloc(sizeof(Node));
        temp->element=element;
        temp->pNext=NULL;
        queue.tail->pNext=temp;
        queue.tail=temp;
    }
    void DeQueue(Queue& queue,int &element)
    {
        if (queue.head->pNext==queue.tail)
        {
            element=queue.tail->element;
            free(queue.tail);
            queue.tail=queue.head;
            return;
        }
        LinkList temp=queue.head->pNext;
        element=temp->element;
        queue.head->pNext=temp->pNext;
        free(temp);
    }
    int EmptyQueue(Queue queue)
    {
        if (queue.head==queue.tail)
        {
            return 1;
        }
        return 0;
    }
    void DestroyQueue(Queue& queue)
    {
        free(queue.head);
        queue.head=queue.tail=NULL;
    }
    void main()
    {
        Queue queue;
        InitQueue(queue);
        for (int i=0;i<10;i++)
        {
            EnQueue(queue,i);
        }
        while (!EmptyQueue(queue))
        {
            int temp;
            DeQueue(queue,temp);
            cout<<temp<<endl;
        }
        DestroyQueue(queue);
    }
  • 相关阅读:
    Log4J日志配置详解
    Linux:ssh端口转发详解
    Android数据存储五种方式总结
    Nginx学习记录
    简单通用JDBC辅助类封装
    PBR.理论
    PBR.工作流贴图
    不设置readable,读取图片数据
    直接打开指定的目录
    Compute Shader基础
  • 原文地址:https://www.cnblogs.com/GoAhead/p/2654737.html
Copyright © 2011-2022 走看看