zoukankan      html  css  js  c++  java
  • C语言实现顺序队列

    #include <stdio.h>
    
    #define NUMBER 100
    
    int push_queue(int* a, int rear, int data)
    {
        a[rear] = data;
        rear++;
        return rear;
    }
    
    void pop_queue(int* a, int front, int rear)
    {
        while (front != rear)
        {
            printf("%d ",a[front]);
            front++;
        }
        printf("
    ");
        return;
    }
    
    int main()
    {
        int a[NUMBER];
        int front, rear;
        front = 0;
        rear = 0;
        rear = push_queue(a, rear, 1);
        rear = push_queue(a, rear, 3);
        rear = push_queue(a, rear, 5);
    
        pop_queue(a, front, rear);
    
        return 0;
    }

     第二种方法:解决上面那种浪费空间与可能出现溢出的情况

    #include <stdio.h>
    
    #define NUMBER 5
    
    int push_queue(int* a, int front, int rear, int data)
    {
        if ((rear + 1) % NUMBER == front) {
            printf("Space Full
    ");
            return rear;
        }
        a[rear % NUMBER] = data;
        rear++;
        return rear;
    }
    
    int pop_queue(int* a, int front, int rear)
    {
        if (front == (rear % NUMBER))
        {
            printf("Space Empty
    ");
            return front;
        }
        printf("%d ",a[front]);
        front = (front + 1) % NUMBER;
        return front;
    }
    
    int main()
    {
        int a[NUMBER];
        int front, rear;
        front = 0;
        rear = 0;
        rear = push_queue(a, front, rear, 1);
        rear = push_queue(a, front, rear, 3);
        rear = push_queue(a, front, rear, 5);
        rear = push_queue(a, front, rear, 6);
        front = pop_queue(a, front, rear);
        rear = push_queue(a, front, rear, 7);
        front = pop_queue(a, front, rear);
        rear = push_queue(a, front, rear, 9);
        front = pop_queue(a, front, rear);
        front = pop_queue(a, front, rear);
        front = pop_queue(a, front, rear);
        front = pop_queue(a, front, rear);
        return 0;
    }
  • 相关阅读:
    Day 24 Network Programming
    Day 22 23 Network Programming
    Day 21 OOP
    Day 20 OOP
    Day 19 OOP
    Day 18 OOP 面向对象编程
    Day 17 Frequently-used modules
    4--jenkins部署tomcat
    3--Jenkins详解 、用户权限、构建maven、参数化构建
    5--Zabbix分布式 监控 ; snmp监控
  • 原文地址:https://www.cnblogs.com/zgen1/p/14589617.html
Copyright © 2011-2022 走看看