标题:选择排序 请问这里minIndex=passcount是什么作用呀
只看楼主
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
已结贴  问题点数:20 回复次数:4 
选择排序 请问这里minIndex=passcount是什么作用呀


//  Sorts data[length] into ascending order using selection sort

{   ItemType    temp ;

  int                 passCount ;

  int                 sIndx ;

  int                 minIndx ;   // index of minimum so far

   

     for  ( passCount = 0 ; passCount < length - 1 ; passCount++ )

  {

  minIndx = passCount ;

     // find index of smallest of data [ passCount . . length-1 ]

  for ( sIndx = passCount + 1 ; sIndx < length ; sIndx++ )

       if  ( data [ sIndx ] < data [ minIndx ] )

  minIndx = sIndx ;

  temp = data [ minIndx ] ;  // swap

  data [ minIndx ] = data [ passCount ] ;

  data [ passCount ] = temp ;

  }

}





那样的话下标不就变化了吗
搜索更多相关主题的帖子: data 选择排序 temp length int 
2019-11-26 14:26
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
还有一个问题,为什么不能直接把minindex的值赋给passcount,而要引入一个临时值呢

我想要两颗西柚。
2019-11-26 14:30
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
空格挺吓人的,我只是顺路将代码排版一下
程序代码:
// 使用“选择排序”进行“升序”排列
void selection_sort( ItemType data[], size_t length )
{
    for( size_t i=0; i<length-1; ++i )
    {
        // 找到 data[i]……data[length-1] 中最小值,记录其下标
        size_t minIndex = i;
        for( size_t j=i+1; j<length; ++j )
            if( data[j] < data[minIndex] )
                minIndex = j;

        // 交换 data[i] 和 data[minIndex]
        ItemType temp = data[minIndex];
        data[minIndex] = data[i];
        data[i] = temp;
    }
}

2019-11-26 15:12
ZJYTY
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:92
专家分:700
注 册:2018-12-20
得分:10 
回复 2楼 komorebi0110
可以尝试按自己的思路进行操作,然后看看是什么效果

-------------------------------若有不当之处,敬请谅解-------------------------------
2019-11-26 15:23
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
作业里有冒泡排序,大概用这个换了一下,通过了

我想要两颗西柚。
2019-11-28 17:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498086-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.319107 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved