黑马程序员技术交流社区

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

作者: 三月小雨    时间: 2015-7-24 17:20
标题: 选择排序法的基本思想
选择排序法的基本思想:将数组第一个元素设为基数。将后面的元素依次与该基数进行比较,如果有某个元素比基数小,就将该数与基数进行交换,直至第n个元素,完成第一趟比较。再设数组第二个元素为基数,重复上面的过程。

#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; i++) {
            for (int j=i; j<len; j++) {
                if (array[i]>array[j]) {
                    //此处使用异或来对调变量的值
                    array[i]=array[i]^array[j];
                    array[j]=array[i]^array[j];
                    array[i]=array[i]^array[j];
                }
            }
        }
    for (int i=0; i<len; i++) {
        printf("%d\t",array[i]);
    }
    return 0;
}
作者: lixianzhu0712    时间: 2015-7-24 20:08
用异或很不错!我们这个笨蛋只会有临时变量!
作者: Northcity    时间: 2015-7-25 02:01
865061682 发表于 2015-7-25 00:18
内层用for (int j=i+1; j

还有外层 用len-1也会减少没必要比较啊
作者: 我丶就这样    时间: 2015-7-25 08:58
围观学习!
作者: 刘彦麟    时间: 2015-7-25 09:15
学习学习··
作者: 余丽丽    时间: 2015-7-25 09:22
Northcity 发表于 2015-7-25 02:01
还有外层 用len-1也会减少没必要比较啊

楼上正解
作者: Northcity    时间: 2015-7-25 22:09
余丽丽 发表于 2015-7-25 09:22
楼上正解

大神  给小弟施舍点黑马币呗:'(




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