I'm trying to implement a selection sort function for an array of user inputted string objects. Am I on the right path as far as arguments go. Thanks
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;
}
}
You probably want to use the STL libabry and declare the argument as
std::vector< std::string >
then the sort function will work directly, like this
std::vector< std::string > array;
std::sort (array.begin(), array.end());
If you are sorting string objects then there's a lot of problems. The code you wrote sorts characters . This:
char ARRAY[]
is an array of characters. These:
char *ARRAY[]
std::string ARRAY[]
are arrays of strings. You will have to change your function appropriately with either of these.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.