One dimentional array
int marks[10]
Index > 0 1 2 3 4 5
marks[0] marks[3]
Two dimentional array
int roll_marks[10][2]
Coll 0 Coll 1 int student[7000]
roll_marks [0][0] roll_marks [0][1] Row 0
roll_marks [1][0] roll_marks [1][1] Row 1
Row 2
5 610 roll_marks [3][0] > 5
10 720 roll_marks [4][0] = 10
roll_marks [9][0] roll_marks [9][1] Row 9
6 7 8 9
marks[9]
roll_marks [3][1] > 610
roll_marks [4][1] = 720
Singly Linked List -> one way linked list
element1 (address = AA) element2 (address = BB)
Head data nextPointer data nextPointer
(AA) 56 BB _____> 69 EE
Data Pointer / Address Data Pointer / Address
Link of next element Link of next element
data addr
Head = AA >>>> Head = element1
Head.data >>> 56
Head.nextPointer >>> BB
element1.nextElement() >>>> element2
element1.nextElement().data >>>> element2.data >>>> 69
element1.nextElement().nextPointer >>>> element2.nextPointer >>>> CC
element2.nextElement() >>>> element3
element2.nextElement().data >>>> element3.data >>>> 107
element2.nextElement().nextPointer >>>> element3.nextPointer >>>> DD
element3 (address = CC)
element2.pointer = pointeress of new_element >> element2.pointer = EE data nextPointer
_____ | -> 107 DD
| |
| | Data Pointer / Address
| | Link of next element
| |
| |
| |
| new_element (address = EE ) |
| data nextPointer |
| -> 45 CC _|
Data Pointer / Address
Link of next element
element3.nextElement() >>>> element4
er >>>> CC element3.nextElement().data >>>> element4.data >>>> 3
element3.nextElement().nextPointer >>>> element4.nextPointer >
er >>>> DD
element4 (address = DD)
data nextPointer Tail / last element
_____> 305 NULL
Data Pointer / Address
Link of next element
nt() >>>> element4
>>>> element4.data >>>> 305
>>>> element4.nextPointer >>>> NULL
Singly Linked List -> one way linked list
element1 (address = AA) element2 (address = BB)
Head data nextPointer data nextPointer
(AA) 56 BB _____> 69 EE
Data Pointer / Address Data Pointer / Address
Link of next element Link of next element
data addr
Head = AA >>>> Head = element1
Head.data >>> 56
Head.nextPointer >>> BB
element1.nextElement() >>>> element2
element1.nextElement().data >>>> element2.data >>>> 69
element1.nextElement().nextPointer >>>> element2.nextPointer >>>> CC
element2.nextElement() >>>> element3
element2.nextElement().data >>>> element3.data >>>> 107
element2.nextElement().nextPointer >>>> element3.nextPointer >>>> DD
element3 (address = CC)
element2.pointer = pointeress of new_element >> element2.pointer = EE data nextPointer
_____ | -> 107 DD
| |
| | Data Pointer / Address
| | Link of next element
| |
| |
| |
| new_element (address = EE ) |
| data nextPointer |
| -> 45 CC _|
Data Pointer / Address
Link of next element
element3.nextElement() >>>> element4
er >>>> CC element3.nextElement().data >>>> element4.data >>>> 3
element3.nextElement().nextPointer >>>> element4.nextPointer >
er >>>> DD
element4 (address = DD)
data nextPointer Tail / last element
_____> 305 AA
Data Pointer / Address
Link of next element
nt() >>>> element4
>>>> element4.data >>>> 305
>>>> element4.nextPointer >>>> NULL
Doubly Linked List -> both/two way linked list BUBUN
element1 (addrress = AA) element2 (address = BB)
Head prevPointer data nextPointer prevPointer data nextPointer
(AA) Addr of next <_____> Addr of prev Addr of next
NULL 56 69
element element element
NULL Data BB AA Data CC
EE
|
|
|
|
|
| ->
Head = AA >>>> Head = element1
Head.data >>> 56
Head.addr >>> BB
element1.nextElement() >>>> element2
element1.nextElement().data >>>> element2.data >>>> 69
element1.nextElement().addr >>>> element2.addr >>>> CC
element2.nextElement() >>>> element3
element2.nextElement().data >>>> element3.data >>>> 107
element2.nextElement().addr >>>> element3.addr >>>> DD
SUMI
element3 (address = CC)
prevPointer data nextPointer
<_____> _> Addr of prev Addr of next <_____>
107
| element element
| BB Data DD
| EE
|
|
|
new_element (address = EE ) |
prevPointer data nextPointer
Addr of next
Addr of prev element 45
element
BB CC
BUBUN SUDIP SUMI
element3.nextElement() >>>> element4
element3.nextElement().data >>>> element4.data >>>> 305
element3.nextElement().addr >>>> element4.addr >>>> NULL
element4 (address = DD)
prevPointer data nextPointer
Addr of prev
305 NULL
element
CC Data NULL
Doubly Linked List -> both/two way linked list BUBUN
element1 (addrress = AA) element2 (address = BB)
Head prevPointer data nextPointer prevPointer data nextPointer
(AA) Addr of prev Addr of next <_____> Addr of prev Addr of next
56 69
element element element element
DD Data BB AA Data CC
EE
DD |
|
|
|
HeAD = Eleemnt 2 |
| ->
Head = AA >>>> Head = element1
Head.data >>> 56
Head.addr >>> BB
element1.nextElement() >>>> element2
element1.nextElement().data >>>> element2.data >>>> 69
element1.nextElement().addr >>>> element2.addr >>>> CC
element2.nextElement() >>>> element3
element2.nextElement().data >>>> element3.data >>>> 107
element2.nextElement().addr >>>> element3.addr >>>> DD
SUMI
element3 (address = CC)
prevPointer data nextPointer
<_____> _> Addr of prev Addr of next <_____>
107
| element element
| BB Data DD
| EE
|
|
|
new_element (address = EE ) |
prevPointer data nextPointer
Addr of next
Addr of prev element 45
element
BB CC
BUBUN SUDIP SUMI
element3.nextElement() >>>> element4
element3.nextElement().data >>>> element4.data >>>> 305
element3.nextElement().addr >>>> element4.addr >>>> NULL
element4 (address = DD)
prevPointer data nextPointer
Addr of prev Addr of next
305
element element
CC Data AA