C ++ Выбор сортировки массива строковых объектов - PullRequest
0 голосов
/ 19 сентября 2011

Я пытаюсь реализовать функцию сортировки выбора для массива введенных пользователем строковых объектов.Я на правильном пути, насколько аргументы идут.Спасибо

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;
}
}

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

Возможно, вы хотите использовать библиотеку STL и объявить аргумент как

std::vector< std::string >

тогда функция сортировки будет работать напрямую, как это

std::vector< std::string > array;
std::sort (array.begin(), array.end());
0 голосов
/ 19 сентября 2011

Если вы сортируете строковые объекты, тогда возникает много проблем.Код, который вы написали, сортирует символов .Это:

char ARRAY[]

- это массив символов.Эти:

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

являются массивами строк.Вам придется соответствующим образом изменить свою функцию с помощью одного из них.

...