【问题标题】:C++ Selection Sort of an Array of String Objects字符串对象数组的 C++ 选择排序
【发布时间】:2011-11-19 21:46:48
【问题描述】:

我正在尝试为用户输入的字符串对象数组实现选择排序功能。就争论而言,我是否走在正确的道路上。谢谢

void selectionSort(char 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++ arrays string sorting selection


【解决方案1】:

您可能希望使用 STL 库并将参数声明为

std::vector&lt; std::string &gt;

那么排序函数就直接起作用了,像这样

std::vector< std::string > array;
std::sort (array.begin(), array.end());

【讨论】:

    【解决方案2】:

    如果您正在对字符串对象进行排序,那么就会出现很多问题。您编写的代码对字符进行排序。这个:

    char ARRAY[]
    

    是一个字符数组。这些:

    char *ARRAY[]
    std::string ARRAY[]
    

    是字符串数组。您必须使用其中任何一个来适当地更改您的功能。

    【讨论】:

    • 所以如果想使用字符串数组,我是不是在正确的轨道上?
    • @hyuj 字符串数组?如果您的意思是“字符串数组”或“字符串数组”,那么可以。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2011-07-27
    • 2013-05-05
    • 2014-06-13
    • 1970-01-01
    • 2022-01-03
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多