Selection Sort Advantages
•
Easy to program
Selection Sort Disadvantages
Selection Sort Code
Selection Sort Example
2 8 5 1 3 4 6
i = 0
value = 2
j = 1
value = 8
k = 0
2 8 5 1 3 4 6
i = 0
value = 2
j = 1
value = 8
k = 0
value = 2
• Compare 2 and 8
2 8 5 1 3 4 6
i = 0
value = 2
j = 2
value = 5
k = 0
value = 2
• Compare 2 and 5
2 8 5 1 3 4 6
i = 0
value = 2
j = 3
value = 1
k = 0
value = 2
• Compare 2 and 1
2 8 5 1 3 4 6
i = 0
value = 2
j = 4
value = 3
k = 3
value = 1
• Compare 1 and 3
2 8 5 1 3 4 6
i = 0
value = 2
j = 5
value = 4
k = 3
value = 1
• Compare 1 and 4
2 8 5 1 3 4 6
i = 0
value = 2
j = 6
value = 6
k = 3
value = 1
• Compare 2 and 6
2 8 5 1 3 4 6
i = 0
value = 2
j = 7
value = N/A
k = 3
value = 1
• j > list
• Because i != k
1 8 5 2 3 4 6
i = 0
value = 1
j = 7
value = N/A
k = 3
value = 2
• j > list
• Because i != k
1 8 5 2 3 4 6
i = 0
value = 1
j = 7
value = N/A
k = 3
value = 2
1 8 5 2 3 4 6
i = 1
value = 8
j = 2
value = 5
16
k = 1
value = 8
• Increment i • Reset j and k
1 8 5 2 3 4 6
i = 1
value = 8
j = 2
value = 5
k = 1
value = 8
• Compare 8 and 5
1 8 5 2 3 4 6
i = 1
value = 8
j = 3
value = 2
k = 2
value = 5
• Compare 5 and 2
1 8 5 2 3 4 6
i = 1
value = 8
j = 4
value = 3
k = 3
value = 2
• Compare 2 and 3
1 8 5 2 3 4 6
i = 1
value = 8
j = 5
value = 4
k = 3
value = 2
• Compare 2 and 4
1 8 5 2 3 4 6
i = 1
value = 8
j = 6
value = 6
k = 3
value = 2
• Compare 2 and 6
1 8 5 2 3 4 6
i = 1
value = 8
j = 7
value = N/A
k = 3
value = 2
• j > list
• Because i != k
1 2 5 8 3 4 6
i = 1
value = 2
j = 7
value = N/A
k = 3
value = 8
• j > list
• Because i != k
1 2 5 8 3 4 6
i = 1
value = 2
j = 7
value = N/A
k = 3
value = 8
1 2 5 8 3 4 6
i = 2
value = 5
j = 3
value = 8
k = 2
value = 5
• Increment i • Reset j and k
1 2 5 8 3 4 6
i = 2
value = 5
j = 3
value = 8
k = 2
value = 5
• Compare 5 and 8
1 2 5 8 3 4 6
i = 2
value = 5
j = 4
value = 3
k = 2
value = 5
• Compare 5 and 3
1 2 5 8 3 4 6
i = 2
value = 5
j = 5
value = 4
k = 4
value = 3
• Compare 3 and 4
1 2 5 8 3 4 6
i = 2
value = 5
j = 6
value = 6
k = 4
value = 3
• Compare 3 and 6
1 2 5 8 3 4 6
i = 2
value = 5
j = 7
value = N/A
k = 4
value = 3
• j > list
• Because i != k
1 2 3 8 5 4 6
i = 2
value = 3
j = 7
value = N/A
k = 4
value = 5
• j > list
• Because i != k
1 2 3 8 5 4 6
i = 2
value = 3
j = 7
value = N/A
k = 4
value = 5
1 2 3 8 5 4 6
i = 3
value = 8
j = 4
value = 5
k = 3
value = 8
• Increment i • Reset j and k
1 2 3 8 5 4 6
i = 3
value = 8
j = 4
value = 5
k = 3
value = 8
• Compare 8 and 5
1 2 3 8 5 4 6
i = 3
value = 8
j = 5
value = 4
k = 4
value = 5
• Compare 5 and 4
1 2 3 8 5 4 6
i = 3
value = 8
j = 6
value = 6
k = 5
value = 4
• Compare 4 and 6
1 2 3 8 5 4 6
i = 3
value = 8
j = 7
value = N/A
k = 5
value = 4
• j > list
• Because i != k
1 2 3 4 5 8 6
i = 3
value = 4
j = 7
value = N/A
k = 5
value = 8
• j > list
• Because i != k
1 2 3 4 5 8 6
i = 3
value = 4
j = 7
value = N/A
k = 5
value = 8
1 2 3 4 5 8 6
i = 4
value = 5
j = 5
value = 8
40
k = 4
value = 5
• Increment i • Reset j and k
1 2 3 4 5 8 6
i = 4
value = 5
j = 5
value = 8
k = 4
value = 5
• Compare 5 and 8
1 2 3 4 5 8 6
i = 4
value = 5
j = 6
value = 6
k = 4
value = 5
• Compare 5 and 6
1 2 3 4 5 8 6
i = 4
value = 5
j = 7
value = N/A
k = 4
value = 5
• j > list
1 2 3 4 5 8 6
i = 4
value = 5
j = 7
value = N/A
k = 4
value = 5
1 2 3 4 5 8 6
i = 5
value = 8
j = 6
value = 6
k = 5
value = 8
• Increment i • Reset j and k
1 2 3 4 5 8 6
i = 5
value = 8
j = 6
value = 6
k = 5
value = 8
• Compare 8 and 6
1 2 3 4 5 8 6
i = 5
value = 8
j = 7
value = N/A
k = 6
value = 6
• j > list
• Because i != k
1 2 3 4 5 6 8
i = 5
value = 6
j = 7
value = N/A
k = 6
value = 8
• j > list
• Because i != k
1 2 3 4 5 6 8
i = 5
value = 6
j = 7
value = N/A
k = 6
value = 8
1 2 3 4 5 6 8
i = 6
value = 8
j = 7
value = N/A
k = 6
value = 8
• Increment i