冒泡排序的理解

  1. 冒泡排序将数组内的元素进行一定序列的算法,如{1,5,4,6}就变成{1,4,5,6}还可以{6,5,4,1}
  2. 如何实现,例如
  • 7  23  12   4  13  21  2  17  13  9
    1.  7与23比较,比较出最值,如果比较最大值,7<23,就将7与23的值交换
         23  7  12   4  13  21  2  17  13  9
    2.  当上次比较结束,留下的值再与下一项比较,如7<12,就将7与12的值交换
        23  12  7   4  13  21  2  17  13  9
        ·······
    9.  到最后再比最大的排在最前面,发现1次好像不够。

    再从的第二项开始以上过程,一直排序。

最小值如图

  • 用程序来表示:

    #include<stdio.h>
    int main()
    {
    	int arr[] = { 7,23,12,4,13,21,2,17,13,9 };
    	int sz, i, j;
    	i = 0;
    	j = 0;
    	sz = sizeof(arr) / sizeof(arr[0]);
    	for (i = 0; i < sz - 1; i++)
    	{
    	for (j = 0; j <sz - 1; j++)
    	{
    		if (arr[j] < arr[j + 1])
    		{
    			int temp = arr[j];
    			arr[j] = arr[j + 1];
    			arr[j + 1] = temp;
    		}
    		printf("%d\t", arr[j]);
    	}
    	printf("\n");
    	}
    	return 0;
    }
    

 结果

 实质上是用双循环来排列数组元素。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i s s a

感谢大佬支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值