22,冒泡排序

原创 2015年11月20日 10:07:03

#include <stdio.h>

/*

  冒泡排序:

     依次比较相邻的两个数,将小数放在前面,大数放在后面。

     即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。

     然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。

     至此第一趟结束,将最大的数放到了最后。

     在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,

     一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。

     如此下去,重复以上过程,直至最终完成排序。

 */


int main(int argc, const char * argv[]) {

    int nums[] = {34,1,20,52,4,4};

    int temp = 0;

    

    int length = sizeof(nums) / sizeof(nums[0]);

    for (int i=1; i<length; i++) {

        for (int j=0; j<length - i; j++) {

            if(nums[j]>nums[j+1]){   //>代表从小到大,而<代表从大到小

                temp = nums[j];

                nums[j] = nums[j+1];

                nums[j+1] = temp;

            }

        }

    }

    

    for (int i=0; i<length; i++) {

        printf("%i ",nums[i]);

    }

    printf("\n");

    return 0;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

奇偶冒泡排序

冒泡排序C语言

  • 2016-02-18 18:57
  • 652B
  • 下载

22.冒泡,选择,插入,希尔,快速,堆排序

#include //冒泡排序 void bubbleSort(int *arr, int len) { for (int i = 0; i < len; i++) { for (int ...

数据结构之冒泡排序

  • 2017-08-23 10:35
  • 178KB
  • 下载

经典白话算法之冒泡排序

简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是0~2100000000之间,那你则需要申请2100000001个变量,也就是说要写成int a[21000...

JAVA冒泡排序及其优化

arm汇编冒泡排序

  • 2016-01-14 15:21
  • 812B
  • 下载

冒泡排序及其优化

/** * 冒泡排序及其优化 * @author shuaicenglou * */ public class Maopao { public static void main(Str...

冒泡排序VB版

  • 2015-03-28 21:43
  • 27KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)