小菜鸟的求助 关于线性表 高手进啊
#include <stdio.h>#include <stdlib.h>
typedef struct LNode{int data;
int data2;
struct LNode *next;
}LNode,*Linklist;
int main()
{
Linklist L=(Linklist)malloc(sizeof(LNode));
Linklist p,q=L,k;
int m,n,i;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++){
p=(Linklist)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->data2=i+1;
q->next=p;
q=q->next;
p->next=NULL;
}
p->next=L->next;
p=L->next;
for(i=0;i<n;i++){
int j=1;
while(j<m-1){
p=p->next;
j++;
}
k=p->next;
p->next=k->next;
printf("%d ",k->data2);
m=k->data;
p=p->next;
}
system("Pause");
return 0;
}
这是约瑟夫环问题的解答,其中用到了挺多线性表的内容,请高手详细解释一下
typedef struct LNode{int data;
int data2;
struct LNode *next;
}LNode,*Linklist;
这是定义一个结构体吧,LNode *Linklist struct LNode *next 这三个分别是什么意思啊.
Linklist p,q=L,k 这个语句又是什么意思啊.还有好多.
能不能讲讲 线性表具体是怎么用的 怎么定义,概念我是理解了,就是如何转化为C语言.