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

求助,用循环链表解约瑟夫环问题,哪位大神知道哪里错了

飞黄腾达 发布于 2013-03-14 22:37, 668 次点击
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
    int data;
    int Length;
    struct node *next;
}seqlist,*pseqlist;
void joselist(pseqlist L,int s,int m,int t);
void main()
{
  int k,c,i,n;
  pseqlist p,q,jos,head;
  head=(pseqlist)malloc(sizeof(pseqlist));
  p=(pseqlist)malloc(sizeof(pseqlist));
  q=(pseqlist)malloc(sizeof(pseqlist));
  head->next=NULL;
  printf("输入起始位置\n");
  scanf("%d",&k);
  printf("输入出列数\n");
  scanf("%d",&c);
  printf("输入人数\n");
  scanf("%d",&n);
  p=head->next;
  for(i=0;i<n;i++)
  {
    p->data=i+1;
    p=p->next;
   
  }
   p=head;//首尾相连
   joselist(head,k,c,n);
}
void joselist(pseqlist h,int s,int m,int t)
{
    int i,j;
    pseqlist p,pr,head;
    head=h;
    p=(pseqlist)malloc(sizeof(pseqlist));
    p=head;

    for(i=0;i<s;i++)
        p=p->next;
    for(i=0;i<t;i++)
    {
     for(j=0;j<m;j++)
     {
        pr=p;
        p=p->next;
        if(p==head)
        {pr=p;p=p->next;}
     }
        printf("%d",p->data);
        pr->next=p->next;
        free(p);
        p=pr->next;
    }
}
      
2 回复
#2
sy9010272013-03-14 23:15
不忍卒读。。。您觉得您的链表是个啥?
#3
不玩虚的2013-03-16 22:42
改我到是想帮你改,就是c语言我不大熟,用c++给你改你看行不,行的话我就帮你改
1