黑马程序员技术交流社区

标题: 冒泡排序法的基本思想 [打印本页]

作者: 三月小雨    时间: 2015-7-24 17:42
标题: 冒泡排序法的基本思想
冒泡排序法的基本思想:(以升序为例)含有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;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2