构造单向链表

问题waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

读入整数n,建立一个单向链表,按顺序存储自然数1至nwaZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

问题分析waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

该问题中,用于定义链表结点的结构体类型声明如下:waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

构造单向链表

一个单向链表必然会有表头和表尾,因而定义两个结点指针head和q,分别指向表头结点和表尾结点。初始链表只有一个结点(即是表头又是表尾)。在创建初始链表时,首先要给链表结点申请相应大小的内存空间,并给代表结点的结构体对象成员赋初值:waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

构造单向链表

初始链表的表头和表尾是同一结点,所以q=head;waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

为了向链表中添加新的结点,我们定义一个指向当前结点的指针new:waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

构造单向链表

同样地,要为它申请相应的内存空间,并把当前要存储的自然数i赋值给new->data,即new->data=i;。把这个新结点new连接到初始链表的表尾,即q->next=new;,这样结点new成为了链表表尾,所以要把new的后续结点指向NULL,同时将表尾结点指针q指向结点new。waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

构造单向链表

以上代码通过for循环执行n-1次,就可以将自然数2至n存储到链表中。waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

打印输出链表时,我们可以用当前指针q从表头结点head开始顺序遍历整个链表,直至其后继指针为空:waZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

构造单向链表

代码 创建一个单向链表,按顺序存储自然数1至nwaZ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

构造单向链表

关 键 词

构造单向链表

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢