QVector常见使用方法

仅在此简单介绍QVector的一些常见函数,有兴趣的可以查下QT,在QT中介绍的很详细

构造函数,QVector的构造函数很多样化,常见的有

参考

QVector()  无参的构造函数

QVector(int size) 构造一个大小为size个 值为默认值的一个vector

QVector(int size,const T &value) 构造一个大小为size个 值为T &value的一个vector

QVector(const QVector &other)构造一个值为QVector &other的vector

//  将元素插入到vector的末尾

void append(const T &value)

void append(const QVector &value)

void push_back(const T &value)

void push_back(const QVector &value)

//  将元素插入到vector的开始

void prepend(const T &value)

void prepend(const QVector &value)

void push_front(const T &value)

void push_front(const QVector &value)

等同于vector.insert(0, value);

//  将元素插入到vector的任意位置

void insert(int i, const T &value)  将元素插入到i位置,i从0开始计算

void insert(int i, int count, const T &value) 从i位置开始插入count个T &value类型元素

//  删除元素

QVector::iterator erase(QVector::iterator pos) 从vector中移除pos对应的元素

void remove(int i, int count)  从vector中移除从 i开始的count个元素

void pop_back()  删除vector中最后一个元素

void pop_front()  删除vector中第一个元素

//  改变i位置元素的值

void replace(int i, const T &value)

//  使用迭代器进行查找

QVector::iterator begin()  返回一个STL类型的迭代器指针指向vector的第一个元素

QVector::iterator end()  返回一个STL类型的迭代器指针指向vector的最后一个元素后面的假想元素

//  capacity,reserve,count,length,size的比较

int capacity() const    返回vector客观上的容量

void reserve(int size)  扩展至少size大小的内存

int count() const    返回vector中的元素个数

int length() const    等同于count()

int size() const     等同于count()

QVector::reference QVector::back() 返回vector中的最后一个元素的引用 等同于T &QVector::last()

T &QVector::front()  返回vector中的第一个元素的引用 等同于T & first()

void clear() 移除vector中的所有元素

bool empty() const 判断vector是否为空,如果为空返回true,else返回false

int count(const T &value) const    返回T &value类型元素在vector中的个数

int indexOf(const T &value, int from=…) const  返回 value在vector中T &value类型元素的位置

const T &at(int i)const  返回 i位置元素 在vector的index

等同于 T QVector::value(int i) const //即返回下标处所存的值

与之相对的:
QVector::indexOf(i) 返回的是值对应的下标,如果没有则返回-1

QVector tempX ;
qSort(tempX.begin(), tempX.end());//从小到大排序

1.定义一个int类型的QVector数据类型
QVector six_point;
2.获取这个数据类型的首数据:注意是front而非begin
three_point.front()
3.获取这个数据类型的尾数据:注意是back而非end
rightline.back()
4.迭代这个数据类型的所有数据:

    QVector::iterator iter;//迭代器      
    for (iter=rightline.begin();iter!=rightline.end();iter++)
    {
        qDebug<<*iter;
    }

在迭代中,获取当前迭代上5个的数据:

        QVector::iterator iter;//迭代器      
        for (iter=rightline.begin();iter!=rightline.end();iter++)
        {
            qDebug<<*(iter-5);//运行可能出错,但写法正确,理解意思就好
        }

5.弹出元素(删除的意思,注意不会返回数据,只是删除)
弹出最后一个元素:

six_point.pop_back();
弹出第一个元素:

six_point.pop_front();
弹出从i开始的count个元素:

void remove(int i, int count)  从vector中移除从 i开始的count个元素

你可能感兴趣的:(QT,c++)