C语言———冒泡算法

C语言———冒泡算法一:冒泡算法是怎么样去对一堆无序数字进行排序的?1.首先我先说明一下冒泡排序的特点:冒泡排序特点就是每一趟排序把最大的数字找出来并且同时放在最后。这样通过有限次的排序后,有限-无序-序列的数字就会被排序成有序序列。2.那么冒泡算法是如何对数字进行排序的呢?概念:以第一个数字为首,与后面第二个数字进行比较,如果第一个数字比第二个数字大,那么就把第一个数字与第二个数字的位置进行交换,否则该数字位置不变。然后第二个数字又与第三个数字进行比较,如果第二个数字大于第三个数字的话,则第二个数字与第三个数字进

一:冒泡算法是怎么样去对一堆无序数字进行排序的?

1.首先我先说明一下冒泡排序的特点:冒泡排序特点就是每一趟排序把最大的数字找出来并且同时放在最后。这样通过有限次的排序后,有限-无序-序列的数字就会被排序成有序序列。

2.那么冒泡算法是如何对数字进行排序的呢?

概念:以第一个数字为首,与后面第二个数字进行比较,如果第一个数字比第二个数字大,那么就把第一个数字与第二个数字的位置进行交换,否则该数字位置不变。然后第二个数字又与第三个数字进行比较,如果第二个数字大于第三个数字的话,则第二个数字与第三个数字进行位置交换……一直重复这样的操作,那么一趟排序下来就可以找出该序列的最大值了。(注意:每一趟排序的时候,之前所有排序出来的最大值不再参与本次排序)

下面是对:1 23 4 98 70 10 9 这一无序数字序列进行第一趟排序

①:1比23小,不调换位置。此时序列为:1 23 4 98 70 10 9

②:23比4大,调换位置。此时序列为:1 4 23 98 70 10 9(23与4调换了位置)

③:23比98小,不调换位置。此时序列为:1 4 23 98 70 10 9

④:98比70大,调换位置。此时序列为:1 4 23 70 98 10 9(98与70调换了位置)

⑤:98比10大,调换位置。此时序列为:1 4 23 70 10 98 9(98与10调换了位置)

⑥:98比9大,调换位置。此时序列为:1 4 23 70 10 9 98(98与9调换了位置)

需要注意的是,当进行第二趟排序的时候,是不需要与98这个数字比较的。因为第一趟排序可以把无序序列中的最大数字排在后面,而第二趟就是把第二大的数字放在后面,第三趟排序就是把第三大的数字放在后面…….

如果觉得难以理解的朋友可以在草稿纸上画两个杯子,一号杯子装着所有的无序数字,二号杯子则为空。把每一趟排序出来的数字有序地放在二号杯子里面,然后对一号杯子重新排序。你会发现当你第二次对一号杯子进行排序的时候,所找出来的那个最大数字其实就是原来一号杯子所有数字的第二大数字。而第三次对一号杯子排序则找出来的是原有序列的第三大的数字。

二:代码实现如下:

C语言———冒泡算法

 运行结果如下:

C语言———冒泡算法

 

今天的文章C语言———冒泡算法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7342.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注