zoukankan      html  css  js  c++  java
  • 数据结构-顺序队列

     1 #include <iostream>
     2 #include <stdlib.h>
     3 using namespace std;
     4 
     5 #define maxSize 20
     6 
     7 typedef struct
     8 {
     9     int data[maxSize];
    10     int front;
    11     int rear;
    12 }SqQueue;
    13 
    14 void InitQueue(SqQueue &Q)
    15 {
    16     Q.front=Q.rear=0;
    17 }
    18 
    19 int IsEmpty(SqQueue Q)
    20 {
    21     if(Q.front==Q.rear)
    22         return 1;
    23     else
    24         return 0;
    25 }
    26 
    27 int EnQueue(SqQueue &Q,int e)
    28 {
    29     if((Q.rear+1)%maxSize==Q.front)
    30         return 0;//队满
    31     Q.rear=(Q.rear+1)%maxSize;
    32     Q.data[Q.rear]=e;
    33     return 1;
    34 }
    35 
    36 int DeQueue(SqQueue &Q,int &e)
    37 {
    38     if(Q.front==Q.rear)
    39         return 0;
    40     Q.front=(Q.front+1)%maxSize;
    41     e=Q.data[Q.front];
    42     return 1;
    43 }
    44 
    45 int Print(SqQueue Q)
    46 {
    47     if(Q.front==Q.rear)
    48     {
    49         cout<<"
    队空!
    ";
    50         return 0;
    51     }
    52     cout<<"队中元素依次为:
    ";
    53     while(Q.front!=Q.rear)
    54     {
    55         (++Q.front)%maxSize;
    56         cout<<"  "<<Q.data[Q.front] <<"  ";
    57     }
    58     return 1;
    59 }
    60 
    61 int main()
    62 {
    63     int i,e;
    64     SqQueue Q;
    65     InitQueue(Q);
    66     if(IsEmpty(Q)==1)
    67         cout<<"
    队空!
    ";
    68     else
    69         cout<<"
    队非空!
    ";
    70 
    71     cout<<"
    ---------------------------------
    ";
    72     for(i=0;i<10;++i)
    73         EnQueue(Q,i);
    74     Print(Q);
    75     if(IsEmpty(Q)==1)
    76         cout<<"
    队空!
    ";
    77     else
    78         cout<<"
    队非空!
    ";
    79     cout<<"
    ---------------------------------
    ";
    80 
    81     cout<<"依次出队5个元素为:
    ";
    82     for(i=0;i<5;++i)
    83     {
    84         DeQueue(Q,e);
    85         cout<<"  "<<e<<"  ";
    86     }
    87     cout<<endl;
    88     Print(Q);
    89     if(IsEmpty(Q)==1)
    90         cout<<"
    队空!
    ";
    91     else
    92         cout<<"
    队非空!
    ";
    93     cout<<"
    ---------------------------------
    ";
    94 
    95     return 0;
    96 }
  • 相关阅读:
    IDEA 中直接连接远程服务器
    浙江大学软件学院2020年保研上机
    PAT甲级近五年题一览表
    浙江大学计算机与软件学院2021年考研复试上机
    浙江大学计算机与软件学院2019年保研上机
    PAT(甲级)2021年春季考试
    PAT(甲级)2020年冬季考试
    PAT(甲级)2020年秋季考试
    PAT(甲级)2020年春季考试
    PAT(甲级)2019年冬季考试
  • 原文地址:https://www.cnblogs.com/Xbert/p/5087938.html
Copyright © 2011-2022 走看看