首页 > 编程知识 正文

C语言排序,简单选择排序算法c语言

时间:2023-05-03 08:31:54 阅读:118254 作者:432

下面是我们阔达薯片老师讲的快速排放算法

的头文件和任意数据类型

# include stdio.h # include stdlib.htypedefintelemtype; //快列的核心算法

intpartation(elemtypearr[],int i,int j ) ) { elemtype temp=arr[i]; //temp是枢轴,即边界while(Ij ) ) while ) jIarr[j]temp ) j----; } arr[i]=arr[j]; while(jIarr[I]temp ) ) I; } arr[j]=arr[i]; } arr[i]=temp; 返回I; //递归实现完全排序

voidquicksort(elemtypearr[],int i,int j ) {/I )表示数组中第一个元素下的表,j表示最后一个元素下的字符的int k。 partation ()返回值if ) Ij ) ) partation ) arr,I,j ); 快速排序(arr,I,k - 1 ); 快速排序(arr,k 1,j ); }//完整的代码

类型def int elemtype; //快速排序的核心代码intpartation(elemtypearr[],int i,int j ) ) { elemtype temp=arr[i]; while(Ij ) ) while ) jIarr[j]temp ) j----; } arr[i]=arr[j]; while(jIarr[I]temp ) ) I; } arr[j]=arr[i]; } arr[i]=temp; 返回I; //递归voidquicksort(elemtypearr[],int i,int j ) { int k; if(Ij ) ) k=partation(ARR,I,j ); 快速排序(arr,I,k - 1 ); 快速排序(arr,k 1,j ); }}int main () { int num,I,k; 请输入printf ('总数据数: ); scanf('%d ',num ); elemtype arr[num]; 请输入printf (“数据:”); for(I=0; i num; I ) Scanf('%d”,arr[i]; } printf (数据输入成功! 请输入1:查看排序后的内容。 n请输入2:查看未排序的内容。 n输入n03360退出。 n '; 请输入while(1) printf((n: ); 扫描(' % d ',k ); 交换机(k )情况1: )快速排序(arr,0,num - 1 ); for(I=0; i num; I ) {printf('%d ',arr[i] ); } break; }case2:{for(I=0; i num; I ) {printf('%d ',arr[i] ); } break; } case 0: return; }}调试结果

各位,如果有不明白的地方,可以评论,也可以和我聊天,

如果有什么能帮上忙的,请写下赞词再走

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。