在C语言中常见的排序有:冒泡排序、插入排序、选择排序等等。在这里我们要演示的是“冒泡排序”,冒泡排序可以理解为相邻的两个数进行比较,将小数放在前面,大数放在后面或者将大数放在前面,小数放在后面。

这里我们就用动态数组为例子进行演示,相信到这一步大家对动态数组的分配、操作和输出也没什么问题了吧?注释我就不写了。
C语言冒泡排序
接下来就是冒泡排序的算法了,这里我们不用专业术语,我们讲通俗点,假设有5个元素,要对这5个元素进行相互比较,第一个元素和第二个元素比直至最后一个元素要比较4次才能完成,也就是说无论有多少个元素进行比较都是长度(元素的个数)减1。
C语言冒泡排序
那代码该怎么写呢?这里我们使用函数
C语言冒泡排序
相互比较完了之后要进行互换,这里给大家解释一下互换:
先分配一个"容器",把p[ j ](比较小的数)放进容器里,这时候p[ j ]的值为空,再把变量p[ j + 1 ](比较大的数)的值赋给变量p[ j ],最后把"容器"里的值赋给p[ j + 1 ],这时候就完成了互换。
C语言冒泡排序
调用函数和前置声明,前置声明放在main函数前面
C语言冒泡排序
运行结果:
C语言冒泡排序

谢谢大家观看!

相关文章: