注册 登录
编程论坛 数据结构与算法

约瑟夫环问题后面的程序怎么写啊????

Nield 发布于 2013-05-05 10:54, 860 次点击
#include<stdio.h>
#include<stdlib.h>
#define NULL 0
typedef struct lnode
{
    int m;//密码
    int x;//自己的位置
    struct lnode *next;
}Lnode,*L;
void main()
{
    int m,n,num,i,c,d;
    L l,p,q;
    printf("请输入一个整数作为报数上限值:\n");
    scanf("%d",&m);
    printf("有几个人围成一圈:\n");
    scanf("%d",&num);
    printf("%d个人手中的密码分别是:\n",num);
    l=(L)malloc(sizeof(Lnode));
    l->m='\0';
    l->x=0;
    l->next=NULL;
    q=l;
    i=1;
    getchar();
    while(i<=num)
    {   
        scanf("%d",&n);
        getchar();
        p=(L)malloc(sizeof(Lnode));
        p->x=i;
        p->m=n;
        p->next=NULL;
        q->next=p;
        q=p;
        i++;
    }
    q->next=l->next;
    // 以上是完成单向循环链表的建立
    p=l->next;
    q=l;

    }
}
3 回复
#2
邓士林2013-05-05 11:23
构建环,处理环
#3
不玩虚的2013-05-06 15:12
https://bbs.bccn.net/thread-405226-1-1.html//自己参考学习下吧,分别是带头的和不带头的循环循环链表
#4
不玩虚的2013-05-06 15:13
最后的//去掉
1