将数组{8,23,4,16,77,-5,53,100}中的元素按从大到小的顺序排列,最少需要交换几次?我知道答案是5次
问题描述:
将数组{8,23,4,16,77,-5,53,100}中的元素按从大到小的顺序排列,最少需要交换几次?我知道答案是5次
但是为什么呢?
答
第一次77 和53交换
8 23 4 16 53 -5 77 100
第二次53 和-5交换
8 23 4 16 -553 77 100
第三次23 和-5交换
8 -5 4 16 23 53 77 100
第四次 8 与4交换
4 -5 8 16 23 53 77 100
第五次4与-5 交换
-5 4 8 16 23 53 77 100
(每次从前面(未排好序的元素)选取最大的元素进行交换)