02
2020
04

选择排序的思想是什么?( 每次找到最大或最小的值放在数组的低位上 )请实现它

void SelectSort( int *pArray, int count )  

{  

    for( int i = 0; i < count; ++i )  

    {  

        //默认低位元素最小  

        int MinValue = pArray[ i ];  

      //默认保存低位元素的索引  

         int MinIndex = i;  

         //除开第一个元素找是否还有比它还小的元素( 升序 )  

        for( int j = i + 1; j < count; ++j )  

        {  

             //发现找到比它还小的元素重新赋值和保存索引  

            if( pArray[ j ] < MinValue )  

           {  

                MinValue = pArray[ j ];  

                MinIndex = j;  

            }  

         }  

        //将找到最小元素放在数组低位上面  

        const int Temp = pArray[ i ];  

        pArray[ i ] = MinValue;  

        pArray[ MinIndex ] = Temp;  

    }  

 }  


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。