首页 > 试题广场 >

用数组r存储静态链表,结点的next域指向后继,工作指针j指

[单选题]
用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()?
  • j=r[j].next
  • j=j+1
  • j=j->next
  • j=r[j]->next
感觉好多人把别人越讲越混,不就是静态链表的结构体中是设置了一个int next;来作为存储下一个结点在数组中的存储位置,而不像动态链表结构体中是定义了一个struct * XX结构体指针指向下一个结点 当结构体中next是结构体指针类型则c/c++访问是需要用结构体类型->next来访问 如果不是指针类型 而是结构体类型就应该用 结构体名.next来访问,就是考察了c和cpp语法的结构体特性。
编辑于 2018-08-21 11:44:27 回复(2)
答案:A
首先链表的下一个结点应该用next指针访问,排除B
当前结点是r[j],可以排除C
r[j]是当前节点而不是指向当前节点的指针,因此用r[j].next
发表于 2015-01-27 20:28:23 回复(4)
这道题做错了,仔细看了一下题,我觉得因为它说的是静态链表,静态链表是用数组来模拟链表的,数组的下标作为每个节点的地址。所以这里的指针所指向的地址其实就是数组的下标而已。
发表于 2016-02-09 19:31:31 回复(10)
 

数据结构 
typedef struct{ 
    char data; 
    int cur;//游标域或者指针域 
}SList;

初始化
    void init_sl(SList slist[]){//初始化成空闲静态链表, 
        int i; 
        for(i=0;i<N-1;i++) 
        { 
            slist[i].cur=i+1; 
        } 
        slist[N-1].cur=0;//最后一个指针域指向0 
    } 
发表于 2016-08-24 19:47:07 回复(1)
首先链表中一个元素是一个结构体,包括内容值和next域,指向结构体元素的并不是指针,用从属符号.来表示。
发表于 2017-02-28 15:44:36 回复(0)
当前节点 r [ j ]   假设指针p指向节点 r [ j ]   那么下一个节点为  r [ j ].next 或者 p->next
发表于 2017-04-10 23:10:49 回复(1)
容易误解的是 j,这是数组的下标。
发表于 2015-01-28 15:59:09 回复(2)
静态链表:用一个数组来存储链表,也就是链表的线性存储,这个数组得足够大。

typedef struct{
    int data;
    int next;
}component;
题目中的指针其实就是cur,只是一个整数,指向数组下标的一个整数。
上图中的每一个数组元素都是存放component结构体类型的数据。
比如A[0].data=1,A[0].next=3,即数组第1个元素中的数据为1,它的直接后继在数组下标为3的元素里。

毕竟不是真的指针,就不需要用->来访问了,排除C,D。
按上图和上面的结构体,顺着链表移动需要:j = A[j].next;
发表于 2020-09-07 10:50:56 回复(2)
C语言中.前面是结构体,->前面是结构体指针
发表于 2018-05-25 11:24:09 回复(0)
为啥C不可以啊
发表于 2017-09-25 19:44:17 回复(0)
工作指针j指向链中结点】而不是【工作指针j指向链中结点的地址】,所以选A而不是D
发表于 2020-08-02 10:26:48 回复(1)
c++中当定义类对象是指针对象时候,就需要用到->指向类中的成员;当定义一般对象时候时就需要用到"."指向类中的成员。
发表于 2019-06-13 09:22:34 回复(0)
只有指针才能—>,节点用的是点。
发表于 2018-01-11 20:55:05 回复(0)
这道题a和c都有可能正确,而我选了c
发表于 2017-02-18 11:44:59 回复(0)
用数组r存储静态链表,结点的next域指向后继
也就是说实际上是说,节点的next才是下一个元素,节点不是链中元素,节点的next才是后继,玩文字游戏啊
发表于 2016-10-29 22:57:02 回复(0)
静态链表是用数组来模拟链表的,数组的下标作为每个节点的地址。所以这里的指针所指向的地址其实就是数组的下标。
发表于 2021-10-29 19:45:17 回复(0)
我连题都读不懂,有没有好心人给翻译下,我学过数据结构
发表于 2023-08-31 17:00:30 回复(0)
静态链表用数组保存的!不是动态链表!
发表于 2023-07-03 19:46:07 回复(0)
没意思的一道题,j其实就是数组下标······
发表于 2023-04-26 10:53:50 回复(0)
j到底是什么玩意?答案是A?那j就是下标也就是0,1,2?那next的值也是1,2,3?你家链表是这么玩的?每一个节点要存下一个节点的下标?到公司会不会被直接开除?
发表于 2022-11-13 15:28:38 回复(0)