选择排序

排序思想

每次都取第一个元素与其余元素进行比较,每循环一次得到一个最大、或最小 值,然后排除这个元素位置,让第二个元素作与剩下的元素做比较,直到遍历结束

选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。


// 声明函数
void select_compositor(int num[],int n);

int main(int argc, const char * argv[]) {
    
    // 定义一个数组
    int number[7] = {100,22,1,99,33,77,88};

    // 调用函数
    select_compositor(number,7);
    
    return 0;
}

// 选择排序
void select_compositor(int num[],int n) {
    
    for (int i=0; i<n-1; i++) {
        for (int j=i+1; j<n; j++) {
            if (num[i] > num[j]) {
                printf("%d,%d\n",num[i],num[j]);
                num[i] = num[i] ^ num[j];
                num[j] = num[i] ^ num[j];
                num[i] = num[i] ^ num[j];
            }
        }
    }

    for (int i=0; i<n; i++) {
        printf("%d\n",num[i]);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择排序就这么简单 从上一篇已经讲解了冒泡排序了,本章主要讲解的是选择排序,希望大家看完能够理解并手写出选择排序的...
    Java3y阅读 3,047评论 0 2
  • 最近在学习算法,对此也做一个总结: 排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大...
    被吹落的风阅读 8,396评论 0 28
  • 前言 旨在 在对dx和dy这类无穷小量的研究中,《微积分的历程》中指出 牛顿是这种动态方法的倡导者。 诚然,学习微...
    Hermesfish阅读 3,085评论 0 0
  • 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小...
    阿凡提说AI阅读 1,684评论 0 0
  • 1、基本思想 每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一...
    Sopphire阅读 5,127评论 0 0

友情链接更多精彩内容