气泡排序

冒泡排序是一种非常慢的算法,但是它是最简单的算法之一,这就是为什么它经常被用来向学生介绍排序的概念。

想象您正在看屏幕上的数字。 有一行数字,但屏幕很小,您一次只能看到两个数字。 令数字的数量为n,如果我们将第一个数字作为位置0,则最后一个数字在位置n-1。

现在开始比较位置0的数字和位置1的数字。如果位置的数字大于位置2的数字,则交换数字的位置,这样位置1的数字为现在位于位置0,而位于位置0的数字现在位于位置1。

但是,如果位置0的数字不大于或等于位置1的数字,则将它们保留原样。 现在查看位置1和位置2的数字,然后重复该过程。 向下移动数字行,直到比较位置n-2和n-1的最后两个。 一旦完成了使用这两个数字的处理,您将可以得出结论,最大的数字现在位于位置n-1。 因此,将对位置n-1中的数字进行排序,并且不必在下一行中将其包括在内。

现在,您从位置0和位置1开始重新进行比较。 您将像以前一样穿过这条线,但是这次您将在比较位置n-3和n-2的数字时停止(因为n-1处于正确的位置)。 在此行的末尾检查中,您将知道n-2现在位于它的排序位置,是第二大数字,无需再次检查。

继续这些行搜索,直到只剩下位置0和位置1。如果您不知道行中有多少个数字,那么这些位置也可以称为n-(n)和n-(n-1) 。

步骤1:创建一个数字变量数组,以容纳数字行。

步骤2:创建一个FOR ... LOOP,从位置n-1开始,并为每次行搜索递减1。

步骤3:创建嵌套在前一个FOR ... LOOP中的FOR ... LOOP,以遍历数组中的数字,直到到达最后一个未排序数字的位置,该位置将由外部FOR ... LOOP控制。

步骤4:创建IF语句以比较数组中的两个位置,并根据需要交换它们。

From: https://bytes.com/topic/c/insights/604144-bubble-sort

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值