zoukankan      html  css  js  c++  java
  • 链队

    #include<stdio.h>
    #include<stdlib.h>
    #include<malloc.h>
    typedef int type;
    typedef struct Node
    {
        type info;
        struct Node*next;
    }node;
    //队列声明,保存头指针,尾指针
    typedef struct
    {
        node *front;
        node *rear;
    }queue;
    //初始化一个空队列并返回其指针
    queue* init()
    {
        queue *head=(queue*)malloc(sizeof(queue));
        head->front=head->rear=NULL;
    }
    //打印一个队列
    void display(queue*head)
    {
        node *p=head->front;
        while(p){
            printf("%5d",p->info);
            p=p->next;
        }
        printf("
    ");
    }
    //入队
    void insert(queue*head)
    {
        node*pre;
        pre=(node*)malloc(sizeof(node));
        pre->next=NULL;
        scanf("%d",&pre->info);
        if(!head->front)//如果是空队列,则front和rear指针指向该节点
            head->front=head->rear=pre;
        else{//否则,在尾部插入
            head->rear->next=pre;
            head->rear=pre;
        }
    }
    //销毁一个队列
    void destory(queue*head)
    {
        node*pre=head->front,*p;
        while(pre)
        {
            p=pre->next;
            free(pre);
            pre=p;
        }
        free(head);
    }
    //出队
    void dele(queue *head)
    {
        node*p;
        if(!head->front)
            printf("NULL
    ");
        else{//非空队列
           p=head->front;
           head->front=p->next;
           free(p);
           if(!head->front)//如果是删除了最后一个节点,队列置空
            head->rear=NULL;
        }
    }
    //建立一个长度为n的队列
    void create(queue *head,int n)
    {
        int i;
        for(i=1;i<=n;i++)
            insert(head);
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    iOS 学习
    swift
    (九)Javabean与Jsp(来自那些年的笔记)
    (八)JSP 技术知识点总结(来自那些年的笔记)
    java抽象工厂模式
    java工厂方法模式
    java的简单工厂模式
    服务提供者框架讲解 之 myJDBC
    第一条:考虑用静态工厂方法代替构造器
    另辟蹊径的归并排序复杂度分析
  • 原文地址:https://www.cnblogs.com/Thereisnospon/p/4768522.html
Copyright © 2011-2022 走看看