为什么我的自适应选择排序算法在C ++中不起作用

诺米·哈达德

我有一个选择排序的代码,我写了一年前在Python这里,但是当我试图把它适应C ++,它只是完全停止工作,且算法,这在逻辑上是完全一样的,不同的排序算法,并打印出一团糟。

void SelectionAscending2(int array[], int numItems)
{
    int count;
    int temp;
    int minimum;
    int Pass = 0;
    //while (Pass < numItems)
    for (int i = Pass; i < numItems; i++)
    {
        count = Pass + 1;
        minimum = Pass;
        //while (count <= numItems)
        for (int j = count; j <= numItems; j++)
        {
            if (array[count] < array[minimum])
            {
                minimum = count;
                count += 1;
            }
        }
        temp = array[Pass];
        array[Pass] = array[minimum];
        array[minimum] = temp;
        Pass += 1;
    }
    for (int i = 1; i < numItems; i++)
    {
        cout << array[i] << ", ";
    }
}

int main()
{
    int myArray[8] = { 4, 2, 1, 3, 6, 5, 8, 7 };

    int length = sizeof(myArray) / sizeof(myArray[0]);
    SelectionAscending2(myArray, length);
}

这段代码在python中工作得很好,但是在C ++中却输出了它:2, 3, 4, 5, 6, 0, 7, 我已经为此苦苦挣扎了3天,但我所做的一切都没有起作用。

塞雷涅瓦斯

实际上,您已经从python代码中转移了一些。

  • 在python代码中,您已将设置为length of array (numItems)actual length - 1但在此处与放置了length (numItems)相同的内容actual length

  • 另外,在打印时,您从i = 1开始打印。这就是为什么您的代码无法按预期工作的原因。

因此,您可以进行以下更改(方法之一):

  1. j <= numItems在第二个for循环中更改j < numItems
  2. 使用last for循环打印数组时,从i = 0开始

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自适应图标在Oreo中不起作用-为什么?

来自分类Dev

为什么我的合并排序算法不起作用?

来自分类Dev

为什么我的自适应Web模板在手机上不起作用?

来自分类Dev

为什么我的选择排序程序不起作用?

来自分类Dev

为什么“ for”在“ go”中不起作用?

来自分类Dev

在PHP中为什么不起作用

来自分类Dev

为什么“setOnClickListener (this)”在“for in”中不起作用?

来自分类Dev

自适应图像在Bootstrap中不起作用

来自分类Dev

为什么我的排序不起作用?

来自分类Dev

为什么我的排序不起作用?

来自分类Dev

排序在p:datatable中不起作用

来自分类Dev

排序在nstableview中不起作用

来自分类Dev

排序在 mongodb 中不起作用

来自分类Dev

排序在 bash 脚本中不起作用

来自分类Dev

排序在 Powershell 功能中不起作用

来自分类Dev

为什么合并排序在Javsascript中不起作用

来自分类Dev

为什么排序方法在父组件中不起作用?

来自分类Dev

NavigationLink中的选择不起作用

来自分类Dev

时间选择在jQuery中不起作用

来自分类Dev

选择列表在 ReactJS 中不起作用

来自分类Dev

strtoupper 在我的代码中不起作用

来自分类Dev

ViewModelProviders在我的片段中不起作用

来自分类Dev

模态在我的代码中不起作用

来自分类Dev

简码在我的wordpress中不起作用

来自分类Dev

我的 if 语句在 python 中不起作用

来自分类Dev

GPUmat在我的Matlab中不起作用

来自分类Dev

意图在我的RecyclerView中不起作用

来自分类Dev

jQuery在我的HTML中不起作用

来自分类Dev

angularjs在我的代码中不起作用