0

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;
}
}
3
  • String object or characters? The answer is very different in either case. Commented Sep 19, 2011 at 1:28
  • You might want to use the qsort function: cplusplus.com/reference/clibrary/cstdlib/qsort Commented Sep 19, 2011 at 1:32
  • As far as arguments go? Yes, you are. Commented Sep 19, 2011 at 1:32

2 Answers 2

2

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());
Sign up to request clarification or add additional context in comments.

Comments

0

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.

2 Comments

so if want to use a string array of characters am I on the right track?
@hyuj String array of characters? If you meant an "array of strings" or a "string array" then yes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.