C语言数组运算——第七周排序初步

选择排序

每次选出一个最大

#include <stdio.h>

int max(int a[],int len){
    int maxid=0;
    for(int i=1;i<len;i++){
        if(a[i]>a[maxid]){
            maxid=i;    
        }
    }
    return maxid;
}
int main(){
    int a[]={2,45,6,12,87,34,90,24,26,11,65};
    int len=sizeof(a)/sizeof(a[0]);
    for(int i =len-1;i>0 ;i--){
        int maxid = max(a,i+1);
        //swap a[maxid],a[len-1]
        int t=a[maxid];
        a[maxid]=a[i];
        a[i]=t;
    }
    for(int i =0;i<len;i++){
        printf("%d ",a[i]);
    }
    return 0;
}

 

上一篇:c语言(常用)c程序简单讲解/数据显示/词法符号/数据类型/常量变量运算符


下一篇:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,,在主函数中输入n个整数和输出调整后的n个数