<C语言 冒泡排序法和选择法的不同,本质区别-常识百科-满米百科
> 常识百科 > 列表
C语言 冒泡排序法和选择法的不同,本质区别
时间:2024-12-23 20:28:34
答案

是这样的

区别主要在交换的方式上

每一轮都把最大或最小的元素筛选出来放在相应的位置上

这是相同的

但是

对于每一轮

比如第一轮

要把1~n 中最大的那个放到n这个位置

冒泡法每次比较和移动相邻的两项

而选择排序每次交换当前项和第n项

我把代码写出来你就懂了:

冒泡:

for i:=1 to n-1 do

if (a[i]>a[i+1]) then swap(i,i+1);

选择:

for i:=1 to n-1 do

if (a[i]>a[n]) then swap(i,n);

(swap 表示交换)

总的来说,两种排序比较的次数是相同的

但交换的次数,选择排序是更少的

虽然两者的时间复杂度都是 O(n^2)

但通常,选择排序更快一点

推荐
© 2024 满米百科