C语言——选择排序&详细注释 一时失言乱红尘 2022-11-01 00:59 155阅读 0赞 实现效果如图: 1、从小到大排序: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzM5MTk1Nw_size_16_color_FFFFFF_t_70] 2、从大到小排序: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzM5MTk1Nw_size_16_color_FFFFFF_t_70 1] 代码如下: #include<stdio.h> #include<conio.h> #include<stdlib.h> #define N 7 //数组元素个数 void SelectSort(int array[],int Lenth) //选择排序函数 { int Change; int temp; int num_1,num_2; for(num_1=0 ; num_1<Lenth-1 ; num_1++) //遍历数组第1-5个元素 { Change=num_1; //将num_1元素下标赋予Change,进行以下与数组下标为num_2进行比较 for(num_2=num_1+1 ; num_2<Lenth ; num_2++) //遍历数组第2-7个元素,并与以上for语句相邻元素进行比较 { if(array[Change]<array[num_2]) //排序从小或从大可改变">""<"符号进行排序 { Change=num_2; //若存在,将较小值元素下标赋予Change,进行以下if语句将较小值置换排在数组初始位置 } } if(Change!=num_1) { temp=array[num_1]; array[num_1]=array[Change]; array[Change]=temp; } } } void ShowArray(int array[],int Lenth) //显示数组函数 { int i; for(i=0;i<Lenth;i++) { printf("%d\t",array[i]); } } int main() { int array[N]={ 42,553,13,-3,23,43,32}; printf("Old Array:\n"); //显示旧数组 ShowArray(array,N); SelectSort(array,N); //选择排序,排序从小或从大可改变第一个if语句">""<"符号进行排序 printf("\nNew Array:\n"); //显示新数组 ShowArray(array,N); printf("\n"); system("pause"); return 0; } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzM5MTk1Nw_size_16_color_FFFFFF_t_70]: /images/20221024/1ce75a2e52b542a7a1bbdd4f202ec97f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzM5MTk1Nw_size_16_color_FFFFFF_t_70 1]: /images/20221024/61116ac2ebc14ce6a5fe9c1ca4ded252.png
还没有评论,来说两句吧...