关于选择、冒泡排序的思考

原创 2007年09月27日 09:10:00
  
记得大一老师刚讲选择排序与冒排序的时候,我们只知道死记硬背:两个 for 语句的循环,以及一段交换语句。两者之间的差别老师只是说选择是将大的数选项出来,而冒泡则只是将较小的数依次从下排像冒水泡一样一层层地冒出来。也不知道是不是老师不知道它们之间的真正区别,还是老师怕讲得太深了,怕我们这些刚接触语言的学生不懂,也许是后者吧。
       后来再学《数据结构》,老师只是说:选择、冒泡排序在以前的课中已经讲过,课上就不讲了,同学们下去要复习一下。再后来,我考程序员时,问同学选择、冒泡排序究竟有什么区别,同学只是说:冒泡是将较小的数一层层地冒出来,而选择则是选择较大的。问了几个同学,答案竟然是出其的一致。我曾试着写出这两段小程序,结果是写出来了,可怎么看怎么不顺眼,和书一对比,虽然可以正确地输出结果,但却完全地错了,我只能又死记住了这两段程序。现在又在考软工,我又问了同学相同的问题,结果和上次完全相同。所以我只好尝试自己去解决问题。经过查阅资料,才发现,它们之间的区别主要有两点:
一、              选择排序是第 I 个元素可以和第 I+1、第I+2…第 n-1个元素比较并交换(如果符合条件);而冒泡排序则是第 I 个元素只可以和第 i+1 个元素比较并进行交换(如果符合条件)
二、              是要特别注意两个 for 语句的初始条件。选择排序:外循环初始值是侍排序列第 I 个元素或第 n-I 个元素,内循初始值是待排序列的第 i+1 个元素或第 n-i-1个元素;冒泡排序:外循环初始值是待排序列的首元素或尾元素,而内循环初始值与外循环相同。
千万要记住两种排序皆可执行升序或降序排序。写到这里,也许你也明白了吧。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

选择、冒泡排序

  • 2014-07-11 20:46
  • 37KB
  • 下载

用汇编与C实现冒泡排序以及一点思考

汇编实现(AT&T语法): .section .data values: .int 33, 25, 67, 10, 1 .section .text .global _start _st...

冒泡排序和选择排序

  • 2015-09-02 11:44
  • 301B
  • 下载

选择排序和冒泡排序

  • 2012-12-14 23:45
  • 41KB
  • 下载

在数组下的选择、冒泡排序

对于相同类型的大数据,我们常采用在数组,为了方便快捷查询,我们总希望对这个数组进行排序,下面介绍两种排序:冒泡,选择排序,其实选择排序只是冒泡排序的一种进化版,减少了运算次数,提高运行效率,不扯了,下...

冒泡排序,选择排序

选择、插入、冒泡排序

选择、插入、冒泡排序 说明: 选择排序(Selection sort)、插入排序(Insertion sort)与气泡排序(Bubble sort)这三个排序方式是初学排序所必须知道的三个基本...
  • yjptu
  • yjptu
  • 2013-10-11 14:58
  • 496

【每日算法】插入&选择&冒泡排序

在正式讲排序算法之前,我们先看一个概念:排序算法的稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[...

黑马程序员 C语言-----数组基本概念 以及选择 冒泡排序理解

数组基本概念  变量类型 变量名;      元素类型 数组名[元素个数]; // 数组中保存的每一个数据,我们称之为元素      特点:数组只能存放同一种数据类型 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)