C++中使用STL list 和find函数

您所在的位置:网站首页 locate函数类型 C++中使用STL list 和find函数

C++中使用STL list 和find函数

2023-08-18 07:26| 来源: 网络整理| 查看: 265

首先find的作用:在具有指定值的范围内找到元素首次出现的位置。

template InputIterator find( InputIterator _First, //一个输入迭代器,它在要搜索指定值的范围内寻址第一个元素的位置。 InputIterator _Last, //一个输入迭代器,用于在要搜索的指定值范围内的最后一个元素之后的位置进行寻址。 const Type& _Val//要搜索的值。 );

返回值:一个输入迭代器,用于寻址在搜索范围内首次出现的指定值。 如果范围中不存在此类值,则返回的迭代器将寻址范围的最后位置,即最后一个元素之后的位置。

使用前需要引入头文件#include

如: #include #include … list lst; … list< int>::iterator itePos = ::find(lst.begin(),lst.end(),5);//寻找值为5的元素位置。

STL list 是一个双向链表,迭代器具备前移和后移的能力 1.以下操作同vector List< int> list; Ilist.push_back(0); Ilist.begin(); Ilist.end(); Ilist.insert(); Ilist.erase(); Ilist.clear(); 2.以下为list 的特有操作 (1)Void push_front(const T &x); //插入一个结点,作为头结点 (2)Void push_back(const T &x); //插入一个结点,作为尾结点 (3)Void pop_front(); //移除头结点 (4)Void pop_back(); //移除尾结点 (5)Void remove(const T&value); //将数值为value的所有元素移除 (6)Void unique(); //将“连续而相同的元素”移除只剩一个 (7)Void splice(iterator position, list &x); //将x 结合于position所指位置之前。X 必须不同于*this

(8)Void splice(iterator position, list&, iterator i); //将i所指的元素结合于position所指位置之前。Position 和 i 可指向同一个list (9)Void splice(iterator position, list&, iterator first, iterator lsat); //将[first, last)内的所有元素结合于 position 所指的位置之前,position和[first, last)可指向同一个list,但是position 不能位于[first, last)之内。 (10)void merge(list& x); //将x合并到*this 身上。两个lists 的内容都必须先经过递增排序。

(11)void reverse(); //将*this 的内容逆向重置 (12)void sort(); //将list 的元素进行升序排序

我们结合find函数进行指定位置的添加和删除 list< int>::iterator itePos = ::find(lst.begin(),lst.end(),5);//在list中寻找值为5的元素位置。 lst.insert(itePos,100);//默认在元素5的前面插入100.

list< int>::iterator itePos = ::find(lst.begin(),lst.end(),1);//在list中寻找值为1的元素位置。 itePos = lst.erase(itePos);//删除元素1,并返回元素1的下一个元素位置。注:迭代器被删除后需要重新赋值。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3