2011-09-19 78 views
0

我想为用户输入的字符串对象的数组实现选择排序功能。就论点而言,我是否走在正确的道路上?由于C++选择字符串对象数组的排序

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

String对象或人物?两种情况的答案都非常不同。 – quasiverse

+0

您可能需要使用qsort函数:http://www.cplusplus.com/reference/clibrary/cstdlib/qsort/ – Radu

+0

@quasiverse - 字符串对象 – hart929

回答

0

如果你排序String对象,然后有很多的问题。你写的代码排序characters。这个:

char ARRAY[] 

是一个字符数组。这些:

​​3210

是字符串数组。你必须适当地改变你的功能。

+1

所以如果要使用字符串数组我是在正确的轨道上? – hart929

+0

@hyuj字符串数组?如果你的意思是“字符串数组”或 “字符串数组”,那么是的。 – quasiverse

2

你可能想使用STL libabry并声明参数作为

std::vector<std::string>

则排序功能将直接工作,这样

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