选择排序和冒泡排序的区别
选择排序和冒泡排序的区别如下:
冒泡排序
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后,然后比较第2。
个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较。
选择排序
第一次从下标为0的开始下标为0的这个数与后面的n到1个进行比较;找出最小或者最大的放在下标为0的这个位置;第二次从下标为1的开始比较;查询剩下的最大或者最小值;放在下标为1的位置;以此类推;直到排序完成。
排序法和冒泡法有什么区别呢
冒泡排序和选择排序都是稳定的排序方法。
不同的地方是处理的过程不一样。
冒泡是相邻的两两比较,把小的交换上去,每一趟比较都会得到一个最小值。一个一个的就像是冒泡一样,比较形象。如果在一趟比较中,没有发现要交换的数值,则排序完成。
选择排序是从待排序队列中选出最小的值,放到已排序队列的后面。
例如待排序队列为: 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,放到第三位置上)
什么是选择排序和冒泡排序
选择排序与冒泡排序区别:
1、冒泡排序是左右两个数相比较,而选择排序是用后面的数和每一轮的第一个数相比较;
2、冒泡排序每轮交换的次数比较多,而选择排序每轮只交换一次;
3、冒泡排序是通过数去找位置,选择排序是给定位置去找数;
4、当一个数组遇到相同的数时,冒泡排序相对而言是稳定的,而选择排序便不稳定;
5、在时间效率上,选择排序优于冒泡排序。
选择排序和冒泡排序的概念:
冒泡排序:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后,然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较。
选择排序:第一次从下标为0的开始下标为0的这个数与后面的n到1个进行比较;找出最小或者最大的放在下标为0的这个位置;第二次从下标为1的开始比较;查询剩下的最大或者最小值;放在下标为1的位置;以此类推;直到排序完成。
vb冒泡和选择排序法代码
冒泡排序,在每一次比较的时候,如果发现相邻两数的次序不对,都会马上就把两数进行对调。
选择排序,则在比较过程中(内循环里面)并不进行对调,而是先记录下最小(大)数的下标,在一次扫描完成后再进行对调。所以它的效率会比冒泡的高一点。
但是冒泡排序是“稳定的”排序。就是说同样总分的若干名同学,排序前在前面的,排序后这些同学的相互位置不会发生改变。
而选择排序则是“不稳定的”排序。就是说同样总分的若干名同学,排序前原来相对排在前面的,排序后有可能会变到后面。
c语言中冒泡排序和选择排序有什么区别
1、冒泡排序法:一趟一趟的将两个相邻的数进行交换如果有10个数则需要排9躺,如果是从
大到小输出则需要每次将后一个数和前一个数进行比较将较大的数赋值给钱一个数,将较小的数赋值给后一个数,其实就是两个数交换,那么第一趟交换完毕后,最
小的数便出现在了数组的最后面,然后进行第二趟的比较时则要对余下的前9个数进行比较,9趟比较完成后则数组也已经排好序。
2、选择排序法:10个数则是需要排9次,若按降序排列,第一次比较:则是将数组的第一个元素与数组中从第二个元素开始到最后的元素进行比较找到最大的数记录下来然后将值赋值给数组的第一个元素,然后进行第二次比较:则是将数组的第二个元素与数组中从第三个元素开始到最后的元素进行比较,找最大的数记录下来将值赋值给数组的第二个元素。。。依次循环找完
以上就是关于选择排序和冒泡排序的区别,排序法和冒泡法有什么区别呢的全部内容,以及选择排序和冒泡排序的区别的相关内容,希望能够帮到您。
版权声明:本文来自用户投稿,不代表【易百科】立场,本平台所发表的文章、图片属于原权利人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解并与我们联系(邮箱:350149276@qq.com)我们将及时处理,共同维护良好的网络创作环境。