c++ - SelectionSort with bool - 数组的第一个值作为整个选项卡出现

标签 c++ boolean selection-sort

我正在尝试用 bool 编写 SelectionSort。

void ss( int tab[], int n )
{
    bool flag;
    for( int i = 0; i < n; i++ )
    {
        int min = tab[ i ];
        for( int j = i + 1; j < n; j++ )
        {
            if( min > tab[ j ] )
            {
                flag = true;
                tab[ j ] = min;
            }
            if( flag == true )
            {
                int temp = tab[ i ];
                tab[ i ] = min;
                tab[ j ] = temp;
            }
        }
    }
}

问题是,当我放置带有值的选项卡时:5 4 3 8 7 9 我收到带有值的选项卡:5 5 5 5 5 5

我哪里出错了?这个 SelectionSort 应该如何正常工作?

最佳答案

尝试该代码:

void selectionSort(int array[], int size)
{
   int startScan, minIndex, minValue;

   for (startScan = 0; startScan < (size - 1); startScan++)
   {
      minIndex = startScan;
      minValue = array[startScan];
      for(int index = startScan + 1; index < size; index++)
       {
       if (array[index] < minValue)
         {
          minValue = array[index];
          minIndex = index;
         }
       }
        array[minIndex] = array[startScan];
        array[startScan] = minValue;
  }
 }

关于c++ - SelectionSort with bool - 数组的第一个值作为整个选项卡出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849838/

相关文章:

c++ - 如何减少 golang tcp 服务器中的 cpu 使用率?

c++ - Ideone 中的 SFINAE 问题?

c++ - Qt deploy 找不到Visual Studio安装目录

c++ - 系统::IO::目录::GetDirectories( "c: vs c:\\")

Oracle 缺少表列的 Bit 数据类型

ruby - 可以在 Ruby 中评估为 false(模糊逻辑)的 float 子类

php - 检查多个值是全部为假还是全部为真

java - 如何在java中实现降序选择排序?

java - 可以检查对象字段的通用选择排序

java - 选择排序 : storing value instead of index