View
24
Download
0
Category
Preview:
DESCRIPTION
Sorting Animation Chapter 10. 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). Selection Sort. data. small_pos. smallest. n. 0. 45. 0. k. - PowerPoint PPT Presentation
Citation preview
1
Sorting AnimationChapter 10
2
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)
3
Selection Sort
45 < smallest? F
45
smallest
0
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
0
n
4
Selection Sort
32 < smallest? T
45
smallest
0
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
1
n
5
Selection Sort
32 < smallest? T
32
smallest
1
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
1
n
6
Selection Sort
56 < smallest? F
32
smallest
1
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
2
n
7
Selection Sort
9 < smallest? T
32
smallest
1
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
3
n
8
Selection Sort
9 < smallest? T
9
smallest
3
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
3
n
9
Selection Sort
21 < smallest? F
9
smallest
3
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
4
n
10
Selection Sort
77 < smallest? F
9
smallest
3
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
5
n
11
Selection Sort
17 < smallest? F
9
smallest
3
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
6
n
12
Selection Sort—SWAP!
9
smallest
3
small_pos
0
k
data
0 1 2 3 4 5 6 7
45 32 56 9 21 77 18 17
6
n
Swap(data[k], data[small_pos]);
13
Selection Sort
32 < smallest? F
32
smallest
1
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
1
n
14
Selection Sort
32 < smallest? F
32
smallest
1
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
2
n
15
Selection Sort
45 < smallest? F
32
smallest
1
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
3
n
16
Selection Sort
21 < smallest? T
32
smallest
1
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
4
n
17
Selection Sort
21 < smallest? T
21
smallest
4
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
4
n
18
Selection Sort
77 < smallest? F
21
smallest
4
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
5
n
19
Selection Sort
18 < smallest? T
21
smallest
4
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
6
n
20
Selection Sort
18 < smallest? T
18
smallest
6
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
6
n
21
Selection Sort
17 < smallest? T
18
smallest
6
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
7
n
22
Selection Sort
17 < smallest? T
17
smallest
7
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
7
n
23
Selection Sort—SWAP!
17
smallest
7
small_pos
1
k
data
0 1 2 3 4 5 6 7
9 32 56 45 21 77 18 17
7
n
Swap(data[k], data[small_pos]);
24
Selection Sort—and so on
56 < smallest? F
56
smallest
2
small_pos
2
k
data
0 1 2 3 4 5 6 7
9 17 56 45 21 77 18 32
2
n
Recommended