func:实现了排序功能。
This commit is contained in:
@@ -46,3 +46,25 @@ QString CUtil::select_file(QWidget* parent, const QString& info, const QString&
|
||||
QFileDialog::getOpenFileName(parent, info, QDir::homePath(), filter);
|
||||
return filePath;
|
||||
}
|
||||
|
||||
void CUtil::sort_by_repeat(std::vector<std::string>& vec)
|
||||
{
|
||||
std::size_t len1 = 0;
|
||||
std::size_t len2 = 0;
|
||||
std::size_t cur = 0;
|
||||
auto compare = [&](const std::string& str1, const std::string& str2) {
|
||||
len1 = str1.size();
|
||||
len2 = str2.size();
|
||||
if (cur >= len1 || cur >= len2) {
|
||||
return len1 > len2;
|
||||
}
|
||||
return str1[cur] > str2[cur];
|
||||
};
|
||||
std::size_t max_len = 0;
|
||||
for (const auto& data : vec) {
|
||||
max_len = data.size() > max_len ? data.size() : max_len;
|
||||
}
|
||||
for (cur = 0; cur < max_len; ++cur) {
|
||||
std::sort(vec.begin(), vec.end(), compare);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user