计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 3076|回复: 0

约瑟夫环的代码求解

[复制链接]
发表于 2009-6-17 08:29:24 | 显示全部楼层 |阅读模式
帮我看一下错在哪里?谢谢你们啦!实在不知道错在哪!应该是算法错误,可是我想不通错在哪?请帮帮我!
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{ int data;
  struct node *next;
} Lnode;
Lnode *create(int n)
{ int i;
  Lnode *h,*p,*r=(Lnode *)malloc(sizeof(Lnode));
  r->data=n;
  for(i=n-1;i>=0;i--)
  { p=(Lnode *)malloc(sizeof(Lnode));
    p->data=i;
    h=p;
  }
   return h;
}
void  jeseph(Lnode *p,int m)
{ Lnode *q;
  int j=0;
  printf("outqueue order:");
  while(p->next!=p)
  { j++;
    if(j==m-1)
{ q=p->next;
   p->next=q->next;
   printf("%d",q->data);
   j=0;
   free(q);
}  
p=p->next;
  }
  printf("%d\n",p->data);
  free (p);
}
void main()
{ Lnode *h;
  int m,n;
  printf("input :");
  scanf("%d,%d",&n,&m);
  h=create(n);
  jeseph(h,m);
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表