簡體   English   中英

字符串選擇排序C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM