Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1of 14

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

You might also like