首页 > 编程知识 正文

冒泡排序法的基本思路,排序算法的一般选择规则

时间:2023-05-03 08:23:28 阅读:55621 作者:974

在此问题中,必须使用选择方法进行排序,按从小到大的顺序对给定的n个整数进行排序并输出排序中每个步骤的中间结果。

要选择排序算法,请执行以下操作:

步骤0 )在n个未排序的(a[0]a[n1] )中找到最小数量,并将其交换为a[0];

步骤1 )在剩馀的未排序的n1的个数(a[1]a[n1] )中找到最小的个数,并将其交换为a[1];

.

步骤k :在剩下的未排序的NK的个数(a[k]a[n1] )中找到最小的个数,并将其交换为a[k];

.

步骤N2 :在剩下的两个未排序的个数(a[n2]A[N1] )中找到最小的个数,并将其交换为A[N2]。

输入法:在第一行输入10或更小的正整数n。 第二行给出n个整数,之间用空格分隔。

输出格式:将排序中相应步骤的中间结果(即每个步骤之后的a[0]a[n1]的值)输出到每行。 相邻数字之间有空格,行尾不要有多余的空格。

输入示例: 45 1 7 6末尾没有空行

输出示例: 1 5 7 61 5 7 61 5 6 7末尾没有空行

#include stdio.hint main () {int n; int a[10]; int j,I,k; int temp; scanf('%d ',n ); for(I=0; in; I ) Scanf('%d ',a[i]; (if ) N1 ) {int min; for(k=0; kn-1; k () {min=k; for(I=k; in; I () if ) a[I]a[min] ) {min=i; }}temp=a[min]; a[min]=a[k]; a[k]=temp; for(I=0; in; I ) {printf('%d ',a[i] ); if(in-1 ) { printf ) '); }printf () (n ); }else{printf('%d ',a[0] ); }返回0; }纯真葡萄酒多码多余,最不简化。 请作为参考! 我希望大家也提出很多我的错误。

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