2011-09-19 79 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());