设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟简单选择排序结束后的结果。

参考答案是(12,18,24,27,35,26)但我觉得是(12,18,24,35,27,26)请问哪个答案才是对的?... 参考答案是(12,18,24,27,35,26)
但我觉得是(12,18,24,35,27,26)
请问哪个答案才是对的?
展开
 我来答
兔丞飞
高粉答主

2019-07-11 · 专注娱乐 专注娱乐 专注娱乐
兔丞飞
采纳数:25 获赞数:19893

向TA提问 私信TA
展开全部

(12,18,24,35,27,26)

第1趟排序结果为:12 35 24 27 18 26

第2趟排序结果为:12 18 35 27 24 26

第3趟排序结果为:12 18 24 35 27 26

第4趟排序结果为:12 18 24 26 35 27

第5趟排序结果为:12 18 24 26 27 35

扩展资料

n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:

1,初始状态:无序区为R[1..n],有序区为空。

2,第1趟排序

在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。

……

3,第i趟排序

第i趟排序开始时,当前有序区和无序区分别为R[1..i-1]和R(i..n)。该趟排序从当前无序区中选出关键字最小的记录 R[k],将它与无序区的第1个记录R交换,使R[1..i]和R分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。

参考代码如下:

void selectSort(int a[],int n){

for(int i=1;i<=n-1;i++){//进行n-1趟选择

int index=i;

for(int j=i+1;j<=n;j++)//从无序区选取最小的记录

if(a[index]>a[j])

index=j;

if(index!=i)

swap( &a[i], &a[min] );;

}

}

参考资料:百度百科 - 选择排序

百度网友f9fe670
推荐于2017-10-06 · TA获得超过5521个赞
知道小有建树答主
回答量:642
采纳率:100%
帮助的人:225万
展开全部

第1趟排序结果为:12 35 24 27 18 26
第2趟排序结果为:12 18 24 27 35 26
第3趟排序结果为:12 18 24 27 35 26
第4趟排序结果为:12 18 24 26 35 27
第5趟排序结果为:12 18 24 26 27 35
结果:
12 18 24 26 27 352 18 24 26 27 35

 

参考代码

#include <stdio.h>
void out(int a[], int n)
{
 int i;
 for(i=0;i<n;i++)    
 {        
  printf("%d ",a[i]);   
 }    
}

void selectsort(int A[],int n)
{    
 int i,j,min,m;    
 for(i=0;i<n-1;i++)    
 {        
  min=i;//查找最小值        
  for(j=i+1;j<n;j++)        
  {            
   if(A[min]>A[j])            
   {                
    min=j;            
   }        
  }        
  if(min!=i)        
  {     
    m=A[min];            
    A[min]=A[i];            
    A[i]=m;      
  }  
     printf("第%d趟排序结果为:",i+1);      
  out(A,6);
  printf("\n");   
 }
}

void main()
{
 int a[6]={24,35,12,27,18,26};
 selectsort(a,6);
 printf("结果:\n");   
 out(a,6);
 }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6deb19cc6
2018-05-27
知道答主
回答量:1
采纳率:0%
帮助的人:859
展开全部
(12,18,24,35,27,26)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangjiqun
2020-12-22
知道答主
回答量:46
采纳率:0%
帮助的人:14.9万
展开全部
参考答案是对的,
怎么说啊,不知道尽量别乱说,很可能会影响很多人的;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式