[英]String Selection Sort C++
如何修改selectionSort函數以搜索字符串數組?
void selectionSort (int array[], int size)
{
int startScan, min Index, 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;
}
}
}
}
據我所知,您需要將“>”泛化為字符串-您顯然可以使用某些庫函數(對於STL字符串,定義為>
),但是如果這是一項家庭作業,則可能需要編寫自己的函數。 如果我們僅限於ASCII,那么當字母的ASCII碼保持字母順序((int)'A'<(int)'B')
,這非常簡單。
要比較字符串,您應該以兩個字符串的首字母開頭,如果它們不相等,則返回比較結果;如果相同,則繼續下一個對。
創建一個函子,該函子接受一個字符串數組並根據需要處理比較(如果是STL)。
<和>運算符已經能夠按字母順序處理比較字符串。 只是重載該函數,使其在參數中具有字符串數組[]而不是int數組[]。 一個問題是這些運算符區分大小寫,因此在進行檢查之前,您需要將字符串中的所有字符轉換為大寫或小寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.