新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

1 

链表专题复习

 

数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了

灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不

能在程序中进行调整,

这样一来,

在程序设计中针对不同问题有时需?/p>

3 0

个元

素大小的数组,有时需?/p>

5 0

个数组元素的大小,难于统一。我们只能够根据?/p>

能的最大需求来定义数组,常常会造成一定存储空间的浪费?/p>

 

我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要?/p>

链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储

就向系统要求申请存储空间,决不构成对存储区的浪费?/p>

 

链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表?/p>

循环链表、双向链表,下面只介绍单向链表?/p>

 

7.4.1 

单链?/p>

 

?/p>

7 - 3

是单链表的结构?/p>

 

 

 

单链表有一个头节点

h 

e 

a 

d

,指向链表在内存的首地址。链表中的每一个节?/p>

的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据?/p>

和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链?/p>

是用于存放整型数据的动态数组)

。链表按此结构对各节点的访问需从链表的?/p>

找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需?/p>

从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为

空,写作?/p>

N U L L

?/p>

 

?/p>

7 - 3

还给出这样一层含义,链表中的各节点在内存的存储地址不是连续的,

其各节点的地址是在需要时向系统申请分配的,系统根据内存的当前情况,既

可以连续分配地址,也可以跳跃式分配地址?/p>

 

看一下链表节点的数据结构定义?/p>

 

struct node 

{ 

int num; 

struct node *p; 

} ; 

在链表节点的定义中,除一个整型的成员外,成员

p

是指向与节点类型完全?/p>

同的指针?/p>

 

在链表节点的数据结构中,非常特殊的一点就是结构体内的指针域的数据类型

使用了未定义成功的数据类型。这是在

C

中唯一规定可以先使用后定义的数?/p>

结构?/p>

 

?/p>

 

单链表的创建过程有以下几步:

 

 

1 ) 

定义链表的数据结构?/p>

 

2 ) 

创建一个空表?/p>

 

3 ) 

利用

m a l l o c ( )

函数向系统申请分配一个节点?/p>

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

1 

链表专题复习

 

数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了

灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不

能在程序中进行调整,

这样一来,

在程序设计中针对不同问题有时需?/p>

3 0

个元

素大小的数组,有时需?/p>

5 0

个数组元素的大小,难于统一。我们只能够根据?/p>

能的最大需求来定义数组,常常会造成一定存储空间的浪费?/p>

 

我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要?/p>

链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储

就向系统要求申请存储空间,决不构成对存储区的浪费?/p>

 

链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表?/p>

循环链表、双向链表,下面只介绍单向链表?/p>

 

7.4.1 

单链?/p>

 

?/p>

7 - 3

是单链表的结构?/p>

 

 

 

单链表有一个头节点

h 

e 

a 

d

,指向链表在内存的首地址。链表中的每一个节?/p>

的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据?/p>

和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链?/p>

是用于存放整型数据的动态数组)

。链表按此结构对各节点的访问需从链表的?/p>

找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需?/p>

从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为

空,写作?/p>

N U L L

?/p>

 

?/p>

7 - 3

还给出这样一层含义,链表中的各节点在内存的存储地址不是连续的,

其各节点的地址是在需要时向系统申请分配的,系统根据内存的当前情况,既

可以连续分配地址,也可以跳跃式分配地址?/p>

 

看一下链表节点的数据结构定义?/p>

 

struct node 

{ 

int num; 

struct node *p; 

} ; 

在链表节点的定义中,除一个整型的成员外,成员

p

是指向与节点类型完全?/p>

同的指针?/p>

 

在链表节点的数据结构中,非常特殊的一点就是结构体内的指针域的数据类型

使用了未定义成功的数据类型。这是在

C

中唯一规定可以先使用后定义的数?/p>

结构?/p>

 

?/p>

 

单链表的创建过程有以下几步:

 

 

1 ) 

定义链表的数据结构?/p>

 

2 ) 

创建一个空表?/p>

 

3 ) 

利用

m a l l o c ( )

函数向系统申请分配一个节点?/p>

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

1 

链表专题复习

 

数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了

灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不

能在程序中进行调整,

这样一来,

在程序设计中针对不同问题有时需?/p>

3 0

个元

素大小的数组,有时需?/p>

5 0

个数组元素的大小,难于统一。我们只能够根据?/p>

能的最大需求来定义数组,常常会造成一定存储空间的浪费?/p>

 

我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要?/p>

链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储

就向系统要求申请存储空间,决不构成对存储区的浪费?/p>

 

链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表?/p>

循环链表、双向链表,下面只介绍单向链表?/p>

 

7.4.1 

单链?/p>

 

?/p>

7 - 3

是单链表的结构?/p>

 

 

 

单链表有一个头节点

h 

e 

a 

d

,指向链表在内存的首地址。链表中的每一个节?/p>

的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据?/p>

和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链?/p>

是用于存放整型数据的动态数组)

。链表按此结构对各节点的访问需从链表的?/p>

找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需?/p>

从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为

空,写作?/p>

N U L L

?/p>

 

?/p>

7 - 3

还给出这样一层含义,链表中的各节点在内存的存储地址不是连续的,

其各节点的地址是在需要时向系统申请分配的,系统根据内存的当前情况,既

可以连续分配地址,也可以跳跃式分配地址?/p>

 

看一下链表节点的数据结构定义?/p>

 

struct node 

{ 

int num; 

struct node *p; 

} ; 

在链表节点的定义中,除一个整型的成员外,成员

p

是指向与节点类型完全?/p>

同的指针?/p>

 

在链表节点的数据结构中,非常特殊的一点就是结构体内的指针域的数据类型

使用了未定义成功的数据类型。这是在

C

中唯一规定可以先使用后定义的数?/p>

结构?/p>

 

?/p>

 

单链表的创建过程有以下几步:

 

 

1 ) 

定义链表的数据结构?/p>

 

2 ) 

创建一个空表?/p>

 

3 ) 

利用

m a l l o c ( )

函数向系统申请分配一个节点?/p>

 

Ͼλ">
Ͼλ
Ŀ

C语言链表专题复习 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

1 

链表专题复习

 

数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了

灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不

能在程序中进行调整,

这样一来,

在程序设计中针对不同问题有时需?/p>

3 0

个元

素大小的数组,有时需?/p>

5 0

个数组元素的大小,难于统一。我们只能够根据?/p>

能的最大需求来定义数组,常常会造成一定存储空间的浪费?/p>

 

我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要?/p>

链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储

就向系统要求申请存储空间,决不构成对存储区的浪费?/p>

 

链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表?/p>

循环链表、双向链表,下面只介绍单向链表?/p>

 

7.4.1 

单链?/p>

 

?/p>

7 - 3

是单链表的结构?/p>

 

 

 

单链表有一个头节点

h 

e 

a 

d

,指向链表在内存的首地址。链表中的每一个节?/p>

的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据?/p>

和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链?/p>

是用于存放整型数据的动态数组)

。链表按此结构对各节点的访问需从链表的?/p>

找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需?/p>

从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为

空,写作?/p>

N U L L

?/p>

 

?/p>

7 - 3

还给出这样一层含义,链表中的各节点在内存的存储地址不是连续的,

其各节点的地址是在需要时向系统申请分配的,系统根据内存的当前情况,既

可以连续分配地址,也可以跳跃式分配地址?/p>

 

看一下链表节点的数据结构定义?/p>

 

struct node 

{ 

int num; 

struct node *p; 

} ; 

在链表节点的定义中,除一个整型的成员外,成员

p

是指向与节点类型完全?/p>

同的指针?/p>

 

在链表节点的数据结构中,非常特殊的一点就是结构体内的指针域的数据类型

使用了未定义成功的数据类型。这是在

C

中唯一规定可以先使用后定义的数?/p>

结构?/p>

 

?/p>

 

单链表的创建过程有以下几步:

 

 

1 ) 

定义链表的数据结构?/p>

 

2 ) 

创建一个空表?/p>

 

3 ) 

利用

m a l l o c ( )

函数向系统申请分配一个节点?/p>

 



ļ׺.doc޸Ϊ.docĶ

  • δ˴˽ͻѵʵʩ
  • (˽̰)һʷһ2س뼯Ȩƶȵγɽ̰
  • 2017˽̰Сѧһ꼶ϲ̰(ȫ)
  • ȫҪ㷶
  • XXXXXXı
  • Ƽ
  • 2019дͨ
  • ˮܵʩ֯Ʒ
  • ѧҵ״ӦԲ
  • ѧѡ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)