Chapter 4: (Pointers and) Linked Lists
- Pointer variables
- Operations on pointer variables
- Linked lists
- Operations on linked lists
- Variations on simple linked lists
– doubly linked lists – circular linked lists
EECS 268 Programming II 1
Chapter 4: (Pointers and) Linked Lists Pointer variables Operations - - PowerPoint PPT Presentation
Chapter 4: (Pointers and) Linked Lists Pointer variables Operations on pointer variables Linked lists Operations on linked lists Variations on simple linked lists doubly linked lists circular linked lists EECS 268
EECS 268 Programming II 1
from 0 to MAX
2
EECS 268 Programming II
3
EECS 268 Programming II
4
EECS 268 Programming II
5 EECS 268 Programming II
6
see C4-pointers.cpp
EECS 268 Programming II
7 EECS 268 Programming II
8
see C4-funcarg.cpp
EECS 268 Programming II
9
see C4-dangling.cpp
EECS 268 Programming II
10 EECS 268 Programming II
11 EECS 268 Programming II
12 EECS 268 Programming II
13 EECS 268 Programming II
14 EECS 268 Programming II
15 EECS 268 Programming II
16 EECS 268 Programming II
17
Figure 4-1 (a) A linked list of integers; (b) insertion; (c) deletion
EECS 268 Programming II
18
Figure 4-7 A head pointer to a list
EECS 268 Programming II
19 EECS 268 Programming II
20 EECS 268 Programming II
21
Figure 4-9 The effect of the assignment cur = cur->next
EECS 268 Programming II
22
Figure 4-10 Deleting a node from a linked list
EECS 268 Programming II
23
Figure 4-11 Deleting the first node
EECS 268 Programming II
24
Figure 4-12 Inserting a new node into a linked list
EECS 268 Programming II
25
Figure 4-13 Inserting at the beginning of a linked list
EECS 268 Programming II
26 EECS 268 Programming II
27
see C4-ListP.cpp
EECS 268 Programming II
28 EECS 268 Programming II
29 EECS 268 Programming II
30
Figure 4-18 Copies of the linked list in Figure 4-17; (a) a shallow copy; (b) a deep copy
EECS 268 Programming II
31 EECS 268 Programming II
32 EECS 268 Programming II
33
Figure 4-22 A head pointer as a value argument
EECS 268 Programming II
– The linked list to which head points is a sorted list if
head->next points to a sorted linked list
34
see C4-ListP.cpp
EECS 268 Programming II
35 EECS 268 Programming II
36
see C4-RefVar.cpp
EECS 268 Programming II
37
Figure 4-25 A circular linked list
EECS 268 Programming II
38
Figure 4-26 A circular linked list with an external pointer to the last node
EECS 268 Programming II
39
Figure 4-27 A dummy head node
EECS 268 Programming II
40 EECS 268 Programming II
41 EECS 268 Programming II
42
Figure 4-29 (a) A circular doubly linked list with a dummy head node (b) An empty list with a dummy head node
EECS 268 Programming II
43 EECS 268 Programming II
44 EECS 268 Programming II