动态链表也是程序设计中的一种非常有用的数据结构。可以说,是否能够理解有关操作的原理,决定了你是否有资格称为“科班”出身。在后续的专业基础课中,相关的内容还会从不同的角度,反复地认识,反复地实践。不过,在现阶段多些体验,也是很有必要的了。
(1)阅读下面的程序,回顾一下动态链表,阅读程序过程中,请用笔画一画形成链表的过程中指针值的变化。
(1)阅读下面的程序,回顾一下动态链表,阅读程序过程中,请用笔画一画形成链表的过程中指针值的变化。
<span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;BACKGROUND-COLOR: #ffffff"><strong>#include <iostream>
using namespace std;
struct Student
{
int num;
double score;
struct Student *next;
};
int main( )
{
Student *head=NULL,*p,*q;
//建立动态链表
for(int i=0; i<3; i++)
{
p = new Student;
cin>>p->num>>p->score;
p->next=NULL;
if (i==0) head=p;
else q->next=p;
q=p;
}
//输出动态链表
p=head;
while(p!=NULL)
{
cout<<p->num<<" "<<p->score<<endl;
p=p->next;
}
return 0;
}</strong></span>