利用指针变量实现队列的入队操作。

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 111 收藏 0 点赞 0 评论 0

解:   #include <stdio.h>
#include <math.h>
#define max 100
struct queue
{
    int qdata[max];
    int head,tail;
  }*q;
  int en(item,pq)
  struct queue *pq;
  int item;
  {
    if(((pq->tail+1)%max)==pq->head)
       return 0;
      else
       {
         pq->tail=(pq->tail+1)%max;
         pq->qdata[pq->tail]=item;
         return 1;
         }
       }
       main()
     {
       int i,j;
        q->head=max-1;
        q->tail=max-1;
        printf(“input item:”);
        scanf(“%d”,&i);
        while(i!=0)
        {
          j=en(i,q);
          if(j==1)   printf(“okn”);
              else  printf(“wrongn”);
            printf(“input item:”);
           scanf(“%d”,&i);
          };
          i=q->head;
          While(i!=q->tail)
           {
             i=(++i)%max;
               Printf(“%dn”,q->qdata[i]);
          }
   }

评论列表
文章目录