zoukankan      html  css  js  c++  java
  • C语言数据结构队列

    #include<stdio.h>
    #include<stdlib.h>


    struct Node {
    int data; 
    Node *next;
    };


    struct Queue {
    Node* head;
    Node* rear;
    };


    Queue* creatQueue() {
    Queue *Q = new Queue;
    Node *node = (Node*)malloc(sizeof(Node)); 
    node->next = NULL;
    Q->head = Q->rear = node;
    return Q;
    }


    void enQueue(Queue *Q, int d) {
    Node *node = (Node*)malloc(sizeof(Node));
    node->data = d;
    node->next = NULL;
    Q->rear->next = node;
    Q->rear = node;
    }


    void output(Queue *Q) {
    int data;
    if (Q->head == Q->rear) {
    printf("队列下溢!");
    }
    Node *node = Q->head->next;
    data = node->data;
    Q->head->next = node->next;
    if (node->next == NULL) {
    Q->rear = Q->head;
    }
    free(node);
    }


    void printQueue(Queue *Q) {
    Node *node = Q->head->next;
    puts("队列成员如下 ");
    while (node != NULL) {
    printf("%d ", node->data);
    node = node->next;
    }
    putchar(' ');
    }


    void destroyQueue(Queue *Q) { 
    Node *node;
    while (Q->head) {
    node = Q->head->next;
    free(Q->head);
    Q->head = node;
    }
    free(Q);
    }


    int main(int argc,char** argv) {
    int select,d;
    Queue *Q = creatQueue();
    while (1) 
    {
    puts("1,入队 2,出队 3,遍历 0,退出 请输入操作号:");
    scanf("%d", &select);
    switch (select) 
    {
    case 1:
    puts("请输入需要入队的数字:");
    scanf("%d", &d);
    enQueue(Q, d);
    break;
    case 2:
    output(Q);
    break;
    case 3:
    printQueue(Q);
    break;
    case 0: 
    printf("程序已退出 ");
    exit(1);
    break;
    default:
    puts("输入错误! ");
    break;
    }

    }


    destroyQueue(Q);

    }



  • 相关阅读:
    ssh2中的添,删,查,改。
    struts2中数据的传输
    SSH2中的笔记
    struts2中的拦截器
    struts.xml中的配置内容
    【spring源码分析】二、Aware
    【spring源码分析】一、BeanPostProcessor
    java常用名词缩写
    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
    springboot使用redis缓存
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700739.html
Copyright © 2011-2022 走看看