C语言 - 冒泡排序

冒泡排序: 越小的元素会经由交换慢慢“浮”到数列的顶端(升序),两两元素进行比较,小的则向前移动再与前一个元素进行比较,如此反复。

原始数据: 9 6 5 3 4
第一轮: 3 9 6 5 4
第二轮: 3 4 9 6 5
第三轮: 3 4 5 9 6
第四轮: 3 4 5 6 9

/* Author:余性笃厚
 * Description:冒泡排序
 */

#include <stdio.h>

int main(void) {
	int bs[] = { 1,5,3,11,9,12,44,15,9 };
	int i, j, temp, totalElement = sizeof(bs) / 4;

	/* 控制轮数 */
	for (i = 0; i < totalElement - 1; i++) {

		/* 控制交换,交换轮数在逐减 */
		for (j = totalElement - 1; j > 0; j--) {
			if (bs[j] < bs[j- 1]) {
				temp = bs[j];
				bs[j] = bs[j - 1];
				bs[j - 1] = temp;
			}
		}
	}

	/* 遍历输出结果 */
	for (i = 0; i < totalElement; i++)
		printf("%-3d", bs[i]);

	return 0;
}

Result:

1  3  5  9  9  11 12 15 44
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值