QLinkedList swap()
时间: 2023-06-23 10:44:57 浏览: 86
QLinkedList的swap()函数可以用来交换链表中两个节点的位置。其函数声明如下:
```C++
void swap(QLinkedList::iterator pos1, QLinkedList::iterator pos2);
```
其中,pos1和pos2是QLinkedList的迭代器,指向需要交换位置的两个节点。注意,这两个节点不能是同一个节点。
下面是一个示例代码,演示如何使用QLinkedList的swap()函数:
```C++
#include <QLinkedList>
#include <QDebug>
int main()
{
QLinkedList<int> myLinkedList;
myLinkedList << 1 << 2 << 3 << 4;
qDebug() << "Before swap:";
for (auto it = myLinkedList.begin(); it != myLinkedList.end(); ++it) {
qDebug() << *it;
}
auto it1 = myLinkedList.begin();
auto it2 = ++it1;
myLinkedList.swap(it1, it2);
qDebug() << "After swap:";
for (auto it = myLinkedList.begin(); it != myLinkedList.end(); ++it) {
qDebug() << *it;
}
return 0;
}
```
这段代码创建了一个包含四个元素的QLinkedList,然后通过迭代器获取了第二个和第三个节点的位置,并将它们交换了一下。最终,输出结果如下:
```
Before swap:
1
2
3
4
After swap:
1
3
2
4
```