C语言冒泡排序

由于前段时间的考试耽误了C语言的学习,现在来重新填一下之前留下的坑

重新回顾一下冒泡排序,首先冒泡排序就是将十个数从小到大排序

通过两两相邻的两个数去比较,大的数就往后移一位,然后继续进行对比,直到所以数都比较一遍

在这里插入图片描述

在网上找了一个动图更好的理解冒泡排序 

=========================================================================

第一步先来创建十个数,定义一个数组放到里面去

int arr[]={28,69,26,56,72,24,87,09,83,02};

然后写一个for循环,外层循环次数为我们的总数-1次,10个数就是进行9次比较

for (i = 1; i <= 9; i++)
	{


	}

外层循环写完后我们再写一个内层循环,内层循环的次数就是9轮的次数减去第几轮的次数,      例如:第一轮比较9-1=8次,第二轮比较9-2=7次

for (i = 1; i <= 9; i++)
	{
		for (j = 0; j <= 9 - i; j++)
		{

		}
	}

然后我们在内层循环里写一个if语句去判断两个数是否为逆序,如果为逆序则创建一个temp变量去交换两个数的位置

if (arr[j] > arr[j+1])
{
	temp = arr[j];
	arr[j] = arr[j+1];
	arr[j + 1] = temp;
}

全部判断并且交换完毕后我们进行打印

	printf("冒泡排序后结果顺序为:\n");
	for(i=0;i<10;i++)
	{
		printf("%-4d", arr[i]);
		printf("\n");
	}

这样冒泡排序就从头到尾进行了一遍啦

全部代码

int main()
{
	int arr[] = { 28,69,26,56,72,24,87,9,83,2 };
	int i, j, temp;
	for (i = 1; i <= 9; i++)
	{
		for (j = 0; j <= 9 - i; j++)
		{
			if (arr[j] > arr[j+1])
			{
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j + 1] = temp;
			}
		}
	}
	printf("冒泡排序后结果顺序为:\n");
	for(i=0;i<10;i++)
	{
		printf("%-4d", arr[i]);
		printf("\n");
	}
	return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值