标题:小菜鸟的求助 关于线性表  高手进啊
只看楼主
chenwj940
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-2-10
结帖率:0
已结贴  问题点数:20 回复次数:4 
小菜鸟的求助 关于线性表  高手进啊
#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语言.
搜索更多相关主题的帖子: 线性 小菜 
2010-03-24 17:04
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:6 

结构体变量 结构体指针变量
2010-03-24 17:12
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
得分:6 
定义时
可以用LNode 替换 struct LNode ,反之亦可;
可以用Linklist 替换 struct LNode * ,反之亦可;

struct LNode *next 表示定义一个指向struct LNode结构体的指针,在链表里一般它用于指向下一个元素;

Linklist p,q=L,k 定义指向struct LNode结构体的指针p,q,k,并初始化q = L;

你写程序的时候画个链表连接的图,照着图写,思路就很清晰了


2010-03-24 17:21
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
得分:6 
LNode//结构体类型名 *Linklist//结构体指针类型名 struct LNode *next //定义结构体指针变量
Linklist p,q=L,k;//根据上面就可以得出了。如果你想具体了解,去看下数据结构这本书吧,里面有详细的介绍,包括你想要知道的。

坚持做对的事情,而不是容易的事情。
2010-03-24 17:29
chenwj940
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-2-10
得分:0 
回复 4楼 一口三个汉堡
谢谢了,小弟现在有点懂了。
2010-05-04 23:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-300421-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.639528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved