zoukankan      html  css  js  c++  java
  • 2008秋季计算机软件基础0922课堂用例(1)

     

     

    /*---------------------------------------------------------
     Title: Sequence Queue(顺序队列)顺序队列-顺序存储结构的队列 
      请先阅读教材74-76页, 2.4.1-2.4.3节, 队列的定义及基本运算
     (注意:以下程序为简化后的,仅供入门学习之用)
    ----------------------------------------------------------
    */
    #include
    <stdio.h>
    #include
    <stdlib.h>
    //定义队列的结构
    struct queue
    {
       
    int q[4];//存放数据元素
       int front;//指针,指向队头
       int rear;//指针,指向队尾后一个位置
    };

    //初始化队列
    struct queue * InitialQueue()
    {
     
    struct queue * head;
     head
    =(struct queue *)malloc(sizeof(struct queue ));
     head
    ->front=0;
     head
    ->rear=0;
     
    return head;
    }

    //入队列
    void EnterIntoQueue(struct queue * head, int value)
    {
        
    if(head->front== (head->rear+1)%4)
        {
            printf(
    "Queue is full. Enter failed.\n");
            
    return;
        }
        head
    ->q[head->rear]=value;
        head
    ->rear=(head->rear+1)%4;
     }

    //出队列
    void DeleteFromQueue(struct queue * head)
    {
     
    if(head->front==head->rear)
     {
         printf(
    "Queue is empty, Delete failed\n");
     }
     
    else
        {
            head
    ->front=(head->front+1)%4;
        }
    }

    //显示队列中所有元素
    void ShowAllElements(struct queue * head)
    {
     
    int i;
     printf(
    " \nShow all elements.\n");
     
    if(head->front<head->rear)
     {
       
    for(i=head->front;i<head->rear;i++)
         printf(
    " %d ",head->q[i]);
     }
    if(head->front>head->rear)
     {
       
    for(i=head->front;i<4;i++)
         printf(
    " %d ",head->q[i]);
       
    for(i=0;i<head->rear;i++)
         printf(
    " %d ",head->q[i]);
     }
    }

    void main()
    {
        
    struct queue * head1;
        head1
    =InitialQueue();
        ShowAllElements(head1);
        EnterIntoQueue(head1,
    1);
        EnterIntoQueue(head1,
    2);
        EnterIntoQueue(head1,
    3);
        DeleteFromQueue(head1);
        EnterIntoQueue(head1,
    4);
    //  
            ShowAllElements(head1);

    }

     

     
  • 相关阅读:
    什么是接口测试?
    接口测试浅谈
    软件测试之数据库面试题
    软件测试的流程是什么?
    多用户博客网站开发实战之创建数据库
    利用python脚本统计和删除redis key
    ULR1 B. 【ULR #1】光伏元件
    法拉第未来任命新CFO!贾跃亭激动发声
    人民需要特斯拉,但条件不允许
    什么叫IOCSABS呢
  • 原文地址:https://www.cnblogs.com/emanlee/p/1297321.html
Copyright © 2011-2022 走看看