Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1698209
  • 博文数量: 210
  • 博客积分: 10013
  • 博客等级: 上将
  • 技术积分: 2322
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-25 15:56
文章分类

全部博文(210)

文章存档

2011年(34)

2010年(121)

2009年(37)

2008年(18)

我的朋友

分类: C/C++

2010-09-03 17:31:41

void JosePhus(int n,int m,int k){
    Node *head = new Node;
    head->data = 0;
    head->next = head;
    Node *cur = head;
    for(int i = 0 ; i < n ; ++i){
        Node *temp = new Node;
        temp->data = i;
        temp->next = head;
        cur->next = temp;
        cur = temp;
    }
    for(Node *p = head->next ; p!=head; p = p->next)
        cout<<p->data<<endl;
    Node *p = head->next;
    Node *r;
    while(k--){
        r = p;
        p = p->next;
    }
    while(n--){
        for(int s = m-1;s--;r=p,p=p->next);
        r->next = p->next;
        cout<<p->data<<endl;
        free(p);
        p = r->next;
    }
}


阅读(2105) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~