QLinkedList才是Qt真正意义上的链表。QList提供的所有基于索引的操作,QLinkedList都是不可能支持的 您所在的位置:网站首页 qt中链表 QLinkedList才是Qt真正意义上的链表。QList提供的所有基于索引的操作,QLinkedList都是不可能支持的

QLinkedList才是Qt真正意义上的链表。QList提供的所有基于索引的操作,QLinkedList都是不可能支持的

2024-07-06 06:24| 来源: 网络整理| 查看: 265

QLinkedList

http://www.cnblogs.com/findumars/p/5176081.html

QLinkedList才是Qt真正意义上的链表。QLinkedList实际上跟std::list是一样的,也是双向链表。QList实际内部还是一个指针数组。QLinkedList提供的函数大部分还是跟QList一样的,下面我们就看一些不同的地方。

 

int QLinkedList::size () const

返回链表的大小,即节点个数。而forward_list没有这个函数。

 

const_iterator QList::constBegin () const

const_iterator QList::constEnd () const

这是QList返回STL风格的迭代器。QLinkedList则没有提供这样的函数。

 

void QList::append ( const T & value )

void QList::append ( const QList & value )

 

void QLinkedList::append ( const T & value )

QLinkedList 没有接受一个QLinkedList 参数的append函数。

 

最重要的区别就是:

QLinkedList没有 T &

operator[] ( int i )

链表是肯定不能支持索引操作的。

所以QList提供的所有基于索引的操作,QLinkedList都是不可能支持的,比如:

const T &

at ( int i ) const

void

insert ( int i, const T & value )

void

move ( int from, int to )

void

replace ( int i, const T & value )

T

takeAt ( int i )

void

swap ( int i, int j )

可能还有其他函数,这里就不一一列举了。

QLinkedList提供了与std::list的转换函数:

QLinkedList

fromStdList ( const std::list & list )

std::listQLinkedList::toStdList () const

需要记住的一点:Qt容器是隐式共享的。QLinkedList自然也是支持隐式共享的。

http://blog.csdn.net/hai200501019/article/details/11787097

  分类: Qt-容器  


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有