A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 三月小雨 中级黑马   /  2015-7-24 17:42  /  1476 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

冒泡排序法的基本思想:(以升序为例)含有n个元素的数组原则上要进行n-1次排序。对于每一躺的排序,从第一个数开始,依次比较前一个数与后一个数的大小。如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现称为最末位的数组元素。第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最大数,该数将成为倒数第二的数组元素......n-1轮过后,就完成了排序。
#include <stdio.h>
int main(int argc, const char * argv[]) {
    int array[]={18,25,2,41,32,19,7};
    int len =7;
   
    for (int i=0; i<len-1; i++) {
        for (int j=0; j<len-1-i; j++) {
            
            if (array[j]>array[j+1]) {
                //此处使用异或来对调变量的值
                array[j]=array[j]^array[j+1];
                array[j+1]=array[j]^array[j+1];
                array[j]=array[j]^array[j+1];
            }
        }
    }
    for (int i=0; i<len; i++) {
        printf("%d\t",array[i]);
    }
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马