1. 程式人生 > >約瑟夫環的c語言實現(代碼已實現)

約瑟夫環的c語言實現(代碼已實現)

def 數字 com max std urn img pri c語言實現

# include <stdio.h>

#define MAXLEN 20

int front=MAXLEN-1;//隊列初始化

int rear=MAXLEN-1;

enqueue(int q[],int x) //入隊

{

  rear=(rear+1)%MAXLEN;

  q[rear]=x;

}

int dequeue(int q[]) //出隊

{

  front=(front+1)%MAXLEN;

  return q[front];

}

Void main()

{

  int i,j,y,n,m; //j是,y是,n是參與的人數,m是出列時所報的數

  int q[20];

  printf("請依次輸入參與的人數和出列時報的數:");

  scanf("%d%d",&n,&m);

  printf("人數=%d,出列數字=%d\n",n,m);

  for(i=1;i<=n;i++) //隊列的元素進隊

    enqueue(q,i);

  j=n; //j初始化,代表剩余未出列的人數

  printf("輸出出列順序如下所示:");

  while(j!=0) //當報數i=m時刪掉此元素,元素出列,i用來計報的數,判斷是否出列

  {

    for(i=1;i<=m;i++) {

    y=dequeue(q);

    if(i!=m)

      enqueue(q,y);

    else

    {

       printf("%2d",y);

       j--;

    }

    printf("\n");

    }

  }

}

技術分享圖片

技術分享圖片

約瑟夫環的c語言實現(代碼已實現)