Qt 中快速查找字符串链表中的重复字符串
在 Qt 中,您可以使用 QStringList 和 QSet 对象快速查找字符串链表中的重复字符串。以下是具体步骤和示例代码:
- 创建 QStringList 对象:用于存储字符串链表。
- 添加字符串:将您的字符串添加到 QStringList 对象中。
- 创建 QSet 对象:用于存储唯一的字符串。
- 遍历 QStringList:将每个字符串添加到 QSet 对象中。
- 比较大小:检查 QSet 对象的大小是否小于 QStringList 对象的大小。如果小于,则说明存在重复字符串。
- 存储重复字符串:您可以将重复字符串存储在另一个 QStringList 对象中或进行其他处理。
以下是示例代码:
#include <QtDebug>
#include <QStringList>
#include <QSet>
int main()
{
QStringList stringList;
stringList << 'hello' << 'world' << 'hello' << 'qt';
QSet<QString> uniqueStrings;
QStringList duplicateStrings;
foreach (const QString& str, stringList) {
if (uniqueStrings.contains(str)) {
duplicateStrings << str;
} else {
uniqueStrings.insert(str);
}
}
if (!duplicateStrings.isEmpty()) {
qDebug() << 'Duplicate strings found:';
foreach (const QString& str, duplicateStrings) {
qDebug() << str;
}
} else {
qDebug() << 'No duplicate strings found.';
}
return 0;
}
此示例代码创建了一个 QStringList 对象,并添加了一些字符串。然后,它使用 QSet 来查找其中的重复字符串,并将重复字符串存储在另一个 QStringList 对象中。最后,它输出重复字符串或者输出没有重复字符串的消息。
希望这可以帮助您!
原文地址: https://www.cveoy.top/t/topic/Fe7 著作权归作者所有。请勿转载和采集!