Sorting Animation Chapter 10 1 Selection Sort Another way of sorting is the selection sort The main idea is to keep finding the smallest (and next smallest) items in the array And move them into correct position (swap) 2 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 45 0 k 0 5 77 6 18 7 17 small_pos 0 45 < smallest? F 3 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 45 1 k 0 5 77 6 18 7 17 small_pos 0 32 < smallest? T 4 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 32 1 k 0 5 77 6 18 7 17 small_pos 1 32 < smallest? T 5 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 32 2 k 0 5 77 6 18 7 17 small_pos 1 56 < smallest? F 6 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 32 3 k 0 5 77 6 18 7 17 small_pos 1 9 < smallest? T 7 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 9 3 k 0 5 77 6 18 7 17 small_pos 3 9 < smallest? T 8 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 9 4 k 0 5 77 6 18 7 17 small_pos 3 21 < smallest? F 9 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 9 5 k 0 5 77 6 18 7 17 small_pos 3 77 < smallest? F 10 Selection Sort 0 45 data 1 32 2 56 3 9 4 21 smallest n 9 6 k 0 5 77 6 18 7 17 small_pos 3 17 < smallest? F 11 Selection Sort—SWAP! 0 45 data 2 56 3 9 4 21 5 77 smallest n 6 k 1 32 9 6 18 7 17 small_pos 3 Swap(data[k], data[small_pos]); 0 12 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 32 1 k 1 4 21 5 77 6 18 7 17 small_pos 1 32 < smallest? F 13 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 32 2 k 1 4 21 5 77 6 18 7 17 small_pos 1 32 < smallest? F 14 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 32 3 k 1 4 21 5 77 6 18 7 17 small_pos 1 45 < smallest? F 15 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 32 4 k 1 4 21 5 77 6 18 7 17 small_pos 1 21 < smallest? T 16 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 21 4 k 1 4 21 5 77 6 18 7 17 small_pos 4 21 < smallest? T 17 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 21 5 k 1 4 21 5 77 6 18 7 17 small_pos 4 77 < smallest? F 18 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 21 6 k 1 4 21 5 77 6 18 7 17 small_pos 4 18 < smallest? T 19 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 18 6 k 1 4 21 5 77 6 18 7 17 small_pos 6 18 < smallest? T 20 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 18 7 k 1 4 21 5 77 6 18 7 17 small_pos 6 17 < smallest? T 21 Selection Sort 0 9 data 1 32 2 56 3 45 smallest n 17 7 k 1 4 21 5 77 6 18 7 17 small_pos 7 17 < smallest? T 22 Selection Sort—SWAP! 0 9 data 2 56 3 45 4 21 smallest n 7 k 1 32 17 5 77 6 18 7 17 small_pos 7 Swap(data[k], data[small_pos]); 1 23 Selection Sort—and so on 0 9 data 1 17 2 56 3 45 smallest n 56 2 k 2 4 21 5 77 6 18 7 32 small_pos 2 56 < smallest? F 24
© Copyright 2026 Paperzz