0
我一直在嘗試在C#中編寫自己的quicksort。但是,當我連接較低的,較大的分區和較大的分區時,Visual Studio告訴我它不能將void轉換爲字符串列表,儘管我不確定連接的lessList和moreList如何變爲無效。QuickSort無效問題
代碼片段:
public List<string> SortFiles(List<string> fileList)
{
int listSize = fileList.Count;
if (listSize <= 1)
{
return fileList; //because it is already sorted
}
string pivotString = fileList[listSize/2];
//partition list
List<string> lessList = new List<string>();
List<string> moreList = new List<string>();
foreach (string g in fileList)
{
if (String.Compare(g, pivotString) <= 0)
{
lessList.Add(g);
}
else
{
moreList.Add(g);
}
}
lessList = SortFiles(lessList);
moreList = SortFiles(moreList);
//concatenate lessList + pivot + moreList
List<string> sortedFiles = lessList.Add(pivotString); //thinks is void
sortedFiles = sortedFiles.AddRange(moreList); //thinks is void
return sortedFiles;
'Add'和'AddRange'返回'void'。編譯器應該做什麼? – 2013-03-02 10:57:55
您的意思是: lessList.Add(pivotString); sortedFiles = lessList; sortedFiles.AddRange(moreList); – 2013-03-02 11:03:56
謝謝!那就是訣竅。 – 2013-03-02 11:17:41