在内部排序中,通常要对被排序数据序列进行多趟扫描。对给定的整数序列(541,132,984, 746,518,181,946,314,205,827)进行从小到大的排序时,采用冒泡排序的第一趟扫描结果是(45)。

admin2009-02-15  22

问题 在内部排序中,通常要对被排序数据序列进行多趟扫描。对给定的整数序列(541,132,984, 746,518,181,946,314,205,827)进行从小到大的排序时,采用冒泡排序的第一趟扫描结果是(45)。

选项 A、(541,132,827,746,518,181,946,314,205,984)
B、(205,132,314,181,518,746,946,984,541,827)
C、(541,132,984,746,827,181,946,314,205,518)
D、(132,541,746,518,181,946,314,205,827,984)

答案D

解析 冒泡排序的过程是先将第1个数与第2个数相比较,若为逆序则交换两数,然后比较每两个数与第三个数,依此类推,直到第n-1个数与第n个数进行过比较为止。上述过程称为一趟冒泡排序,结果是最大的数被排在了最后。然后进行第二趟,对前面n-1个数进行冒泡排序,结果是次大的数被排到了n-1的位置上。一般来说,第i趟冒泡排序是从第一个数到第n-i+1的位置上,整个排序过程需进行k(1≤k≤n)趟。
   对于题中给定的整数序列(541,132,984,746,518,181,946,314,205,827)进行从小到大排序,若先选出较大的元素,则对于冒泡排序,第一趟操作为541←→132,984←→746,984←→518,984←→181,984←→946, 984←→314,984←→205,984←→827,其结果得到的序列为(132,541,746,518,181,946,314,205,827,984)。
   注意,如果采用直接选择排序,第一趟操作为984←→827,其结果得到的序列为(541,132,827,746,518,181,946,314,205,984)。
   如果采用快速排序(以中间元素518为基准)的第一趟扫描结果是(205,132,314,181,518,746,946,984,827)。
转载请注明原文地址:https://kaotiyun.com/show/HNjZ777K
0

相关试题推荐
最新回复(0)