c语言之选择排序

选择排序

选择排序的核心思想在于交换最大的数与最小的数的位置
1.外循环N-1
2.内循环一定小于数组的长度N
在每次比较完a[j]>a[k]后的大小关系后,如果执行if语句,那么k的值将会得到更新,即数组记录最小数的位置

#include <stdio.h>
#define N 7
int main(void){
    int a[N]= {2,-1,-10,1,9,6,11};
    
    int i,j,k,t;
    int value;
    
    //选择排序 
    for(i=0;i<N-1;i++){
        k = i;
        for(j=i+1;j<N;j++){
            if(a[j]<a[k]){
                k = j;
            }   
        }
        
        if(k!=i){
            t = a[i];
            a[i]=a[k];
            a[k] = t;
        } 
        for(i=0;i<N;i++){
        
             printf("%d ",a[i]);
        }
        printf("\n");
    }   

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容