lucyyuan1
2017-05-13 13:26
采纳率: 50%
浏览 1.0k

c++语言的链表问题 菜鸟提问

struct record
{

book object;
record *prior;
record *next;
};
下面是截取的另一部分
record *H = new record;
record *p = H;

record *q = H;

while (inData >>p->object.name >>p->object.number >>p->object.qq>>p->object.post >>p->object.address)
{

p->next = new record;

p = p->next;

p->prior = q;

q->next = p;

q = p;

}

p->next = NULL;

//inDate是一个文件流
//object.name代表一个值 其他的也是
不理解
p->next = new record;

p = p->next;

p->prior = q;

q->next = p;

q = p;

的意思 晕死了
求大神逐步解释 只知道功能是向各个节点中输入值
在网上查了相关知识 但是越看越晕

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 战在春秋 2017-05-13 21:49
    已采纳

    用Win7自带的画图制作了示意图,希望有帮助。

    总的来说,这是链表结构的应用,可以把链表理解成一串佛珠。

    1 这是最开始的状态:

    图片说明

    2

     p->next = new record;  之后
    

    图片说明

    3

     p = p->next;  之后 
    

    图片说明

    4

     p->prior = q;
    
    q->next = p;  这两行之后图没有变化,但保证第三步的图成立
    

    5

     q = p; 之后
    

    图片说明

    循环结束之前,重复以上步骤 ,在后面再串一个结点,反复如此,直到循环结束。

    点赞 评论
  • 冷咖啡15 2017-05-13 14:44

    和 cin>>a>>b;一样的意思 文件输入完 while 循环结束;

    点赞 评论

相关推荐 更多相似问题