Example (Remove song from playlist)

IIT Bombay
Data Structures and Algorithms
Prof. Ajit A. Diwan
Prof. Ganesh Ramakrishnan
Prof. Deepak B. Phatak
Department of Computer Science and Engineering
IIT Bombay
Session: Media Player
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay
1
Media Player
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
…
…
1st
Previous
Play/
Pause
Next
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay
Last

Reverse
T
Sort
D
Sort
2
Details of Playlist
IIT Bombay
ID
Title
Singer
Duration
1
Kabhi khushi kabhi gham
Lata Mangeshkar
4.1
2
Kya hua tera waada
Mohd. Rafi
4.8
…
…
…
…
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay
3
Operations: Media Player
IIT Bombay
1) Add a song at any position to the playlist
2) Remove a song from any position from the playlist
3) Go to a particular song
a) Select from playlist
b) Click buttons (1st, previous, next, and last)
4) Reverse the list of songs in the playlist
5) Sort the list of songs in the playlist based on
(a) Title
(b) Duration
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay
4
Example (Initial State)
IIT Bombay
Playlist
Position
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
5
Example (Adding Songs to Playlist)
IIT Bombay
Playlist
Mera joota hai japaani
Iterator ‘it’
Inserting song at
Position: 0
Note: Position of
Iterator ‘it’ is the
original position
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
6
Example (Adding Songs to Playlist)
IIT Bombay
Playlist
Mera joota hai japaani
Gore rang pe na itna
Iterator ‘it’
Inserting song at
Position: 1
Note: Position of
Iterator ‘it’ is the
original position
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
7
Example (Adding Songs to Playlist)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Gore rang pe na itna
Iterator ‘it’
Inserting song at
Position: 0
Note: Position of
Iterator ‘it’ is the
original position
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
8
Example (Adding Songs to Playlist)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Gore rang pe na itna
Kabhi khushi kabhi gham
Iterator ‘it’
Inserting song at
Position: 53
Note: Position of
Iterator ‘it’ is the
original position
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
Since position is
greater than the
songs in the list, the
song is inserted at
the end
9
Example (Adding Songs to Playlist)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
Iterator ‘it’
Inserting song at
Position: 2
Note: Position of
Iterator ‘it’ is the
original position
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
10
Example (Moving to Last Song)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
Iterator ‘it’
D
Sort
11
Example (Moving to Previous Song)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
Iterator ‘it’
D
Sort
12
Example (Moving to First Song)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
Iterator ‘it’
D
Sort
13
Example (Moving to Next Song)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
Iterator ‘it’
D
Sort
14
Example (Moving Directly to a Song in playlist)
IIT Bombay
Playlist
Kya hua tera waada
Mera joota hai japaani
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
Iterator ‘it’
Moving directly to song
‘Gore rang pe na itna’
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
15
Example (Reversing List of Songs)
IIT Bombay
Playlist
Kabhi khushi kabhi gham
Gore rang pe na itna
Aao huzoor tumko
Mera joota hai japaani
Kya hua tera waada
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
16
Example (Sort List of Songs by Title)
IIT Bombay
Playlist
Aao huzoor tumko
Gore rang pe na itna
Kabhi khushi kabhi gham
Kya hua tera waada
Mera joota hai japaani
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
17
Example (Sort List of Songs by Duration)
IIT Bombay
Playlist
Aao huzoor tumko
Kabhi khushi kabhi gham
Mera joota hai japaani
Gore rang pe na itna
Kya hua tera waada
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
18
Example (Remove song from playlist)
IIT Bombay
Playlist
Aao huzoor tumko
Kabhi khushi kabhi gham
Mera joota hai japaani
Gore rang pe na itna
Kya hua tera waada
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
19
Example (Remove song from playlist)
IIT Bombay
Playlist
Aao huzoor tumko
Kabhi khushi kabhi gham
Mera joota hai japaani
Kya hua tera waada
1st
Previous
Play/
Pause
Next
Last
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay

Reverse
T
Sort
D
Sort
20
IIT Bombay
Thank you
Ajit A. Diwan, Ganesh Ramakrishnan, and Deepak B. Phatak, IIT Bombay
21