wxWidgets wxVector 排序
Posted
技术标签:
【中文标题】wxWidgets wxVector 排序【英文标题】:wxWidgets wxVector Sort 【发布时间】:2020-12-12 13:13:58 【问题描述】:我对排序向量有疑问。我有如下代码,我不明白为什么这个函数排序不排序我的向量。我也试过 wxVectorSort 也不行
wxTextFile file( wxT("myfile.txt") );
wxString text;
wxVector<wxString> fileLines;
wxString pobierz;
file.Open();
for(size_t i=0; i<file.GetLineCount(); i++)
text << file.GetLine(i)<< wxT("\n");
fileLines.push_back(text);
file.Close();
sort(fileLines.begin(), fileLines.end());
for (wxVector<wxString>::iterator it = fileLines.begin() ; it != fileLines.end(); ++it)
TextCtrl_wczytaj->SetValue(*it);
有人可以提供一些建议如何对这个向量进行排序吗?求回答
【问题讨论】:
【参考方案1】:假设您指的是排序数字,如“11”与“2”(如在这个非常相似的 wxWidgets 论坛中post),您可以尝试使用wxSortedArrayString
和可用的sorting functions 之一:
wxStringSortAscending
wxDictionaryStringSortAscending
wxNaturalStringSortAscending
(以及他们的 *Descending
同行)
wxCmpNatural
wxCmpNaturalGeneric
wxSortedArrayString sas(wxNaturalStringSortAscending);
sas.Add("2");
sas.Add("11");
sas.Add("3");
// final order is "2", "3", "11"
【讨论】:
【参考方案2】:另外,请记住,强烈建议不要使用 std::vector、std::list 等与 wx 对应项。
wx 容器类的存在是为了向后兼容,最好不要在新编写的代码中使用它们
【讨论】:
以上是关于wxWidgets wxVector 排序的主要内容,如果未能解决你的问题,请参考以下文章