选择法与冒泡法的区别图解,选择法与冒泡法的区别图解

http://www.itjxue.com  2023-01-20 00:50  来源:未知  点击次数: 

冒泡法和选择法的区别在哪里

冒泡法是相邻两个数比较,取大的再跟第三个比较,直到将最大的一个数沉底.

选择法是定义一个变量跟每一个数比较,比它小则不变,比它大就替换,直到把最大一个放在后面

C语言中冒泡排序法和选择排序法有哪些不同

不同点:

冒泡排序法:一趟一趟的将两个相邻的数进行交换如果有10个数则需要排9躺,如果是从大到小输出则需要每次将后一个数和前一个数进行比较将较大的数赋值给钱一个数,将较小的数赋值给后一个数,其实就是两个数交换,那么第一趟交换完毕后,最小的数便出现在了数组的最后面,然后进行第二趟的比较时则要对余下的前9个数进行比较,9趟比较完成后则数组也已经排好序。

选择排序法:10个数则是需要排9次,若按降序排列,第一次比较:则是将数组的第一个元素与数组中从第二个元素开始到最后的元素进行比较找到最大的数记录下来然后将值赋值给数组的第一个元素,然后进行第二次比较:则是将数组的第二个元素与数组中从第三个元素开始到最后的元素进行比较,找最大的数记录下来将值赋值给数组的第二个元素,依次循环找完。

程序分析:

选择排序:

1.对于选择排序,首先理解排序的思想。给定一个数组,这种思想首先假定数组的首元素为最大(最小)的。此时就要利用3个变量i,j,k表示元素的下标。i表示当前,j表示找到的最大(最小)的下标,k用于存放每次循环中最大值的下标。

2.在掌握了程序的基本思想之后,再进行排序。找到最大的下标后赋给k。找到之后判断所假设的当前值是否为此次循环的最大值,如果不是,就交换a[k] 与当前a[i]的值,从而将数组以一定的顺序排放,最后写一个循环将结果输出。

冒泡排序:

1.对于冒泡排序,主要采用的是相邻数两两进行比较的思想。如果后一个比前一个大(小),则将其调换位置,直至所有的数都比较完。

2.如果给定一个大小为n的数组,那么需要比较n-1趟,每一趟比较n-1-i次 ,i 表示上次循环中已经比较完的下标。写两个循环 判断,如需交换则进行交换,如果不需要交换则进行下两个数的比较,直到所有的数比较完。最后,用一个循环将排序完成后的数全部输出。

选择排序算法与冒泡排序算法有何异同啊?

区别在于:在交换的方式上

冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。

而选择排序算法的改进在于:先并不急于调换位置,先从A[1]开始逐个检查,看哪个数最小就记下该数所在的位置P,等一躺扫描完毕,再把A[P]和A[1]对调,这时A[1]到A[10]中最小的数据就换到了最前面的位置。

所以,选择排序每扫描一遍数组,只需要一次真正的交换,而冒泡可能需要很多次。比较的次数一样的。

例如:1 2 3 4我们分别用a[0],a[1],a[2],a[3]存储。假设从大到小排序

选择排序,是a[0]和a[1],a[2],a[3]依次比较,遇到小的就交换,这样一次下来,最大的被保存在了a[0].下次排序就从a[1]开始重复以上步骤。

冒泡排序,是a[0]和a[1]比较,小的就交换。然后a[1]和a[2]比较,小的交换。然后a[2]和a[3]比较小的就交换。这样一次下来,最大的被保存在a[0]。下次排序从a[1]开始重复以上步骤。

虽然差不多,但是请注意:两者的比较方法是右差别的,一个事依次比下来,一个是俩俩比较。

扩展资料:

冒泡排序的基本思想是将数组中的每个相邻元素进行两两比较,按照小元素在前(或大元素在前)的原则确定是否进行交换。这样每一轮执行之后,最大(或最小)的元素就会被交换到了最后一位。

同样的过程会依次进行,直到所有元素都被排列成预期的顺序为止。这个过程是不是很像是水中的起泡一个个冒起来的过程.

选择排序(select sort):每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

参考资料:百度百科-选择排序

冒泡法和选择排序法有什么不同?最好举下例子

冒泡排序和选择排序都是稳定的排序方法。

不同的地方是处理的过程不一样。

冒泡是相邻的两两比较,把小的交换上去,每一趟比较都会得到一个最小值。一个一个的就像是冒泡一样,比较形象。如果在一趟比较中,没有发现要交换的数值,则排序完成。

选择排序是从待排序队列中选出最小的值,放到已排序队列的后面。

例如待排序队列为:

6

3

2

5

升序(冒泡)

第一趟:

第一次比较

3

6

2

5

第二次比较

3

2

6

5

第三次比较

3

2

5

6

第二趟:2

3

5

6

第三趟:未发现有交换,排序结束

选择排序:

第一趟:2

3

6

5

(选出2,放到第一位置上)

第二趟:2

3

6

5(选出3,放到第二位置上)

第三趟:2

3

5

6(选出5,放到第三位置上)

(责任编辑:IT教学网)

更多