⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 约瑟夫环的算法.c

📁 约瑟夫环的c语言算法
💻 C
字号:
#include "stdio.h"
#include "malloc.h"
#define M 50

typedef struct node{
 int data;
 struct node *link;}JD;

void Josephu(int n,int s)
{
  JD *h,*p,*q,*r;
  int i,j,l[M],k=1;

  h=(JD*)malloc(sizeof(JD));
  h->data=1;
  r=h;
  for(i=2;i<=n;i++)
  {  p=(JD*)malloc(sizeof(JD));
     p->data=i;
     r->link=p;
     r=p;
  }
  r->link=h;

  printf("The list is: ");
  p=h;
  for(i=1;i<=n;i++)
  {  printf("%d",p->data);
     p=p->link;
  }
  printf("\n");

  q=NULL;
  p=h;
  j=1;
  do
  {
    while(j!=s)
     { j++;
       q=p;
       p=p->link;
     }
    l[k]=p->data;

    q->link=p->link;
    free(p);
    p=q->link;

    j=1;
    k++;
  }while(p->link!=p);
  l[k]=p->data;

  printf("The sort is: ");
  for(i=1;i<=k;i++)
    printf("%d",l[i]);
  printf("\n");
}

main()
{
  int n,s;

  printf("input n and s:");
  scanf("%d,%d",&n,&s);

  Josephu(n,s);
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -