IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【Leetcode总结】【链表:一】关于vector和string使用 -> 正文阅读

[数据结构与算法]【Leetcode总结】【链表:一】关于vector和string使用

一、求字符串和数组等长度

(1)C++中,a.size可以求各种容器的元素个数,如string,栈,队列,vevtor等;

(2)C++中,求string长度还可用str.length()

(3)C++求各种容器和数组长度,主要是数组元素个数:sizeof(s)/sizeof(s[0])

(4)C语言中求字符数组中的元素个数,可以使用strlen(s)。但是求数字数组不能用,只能用sizeof(s)/sizeof(s[0])。

二、Vector用法

2.1 vector初始化

(1)vector<int> a(10); //定义了10个整型元素的向量
(2)vector<int> a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1
(3)vector<int> a(b); //用b向量来创建a向量,整体复制性赋值
(4)vector<int> a(b.begin(),b.begin+3); //定义了a值为b中第0个到第2个(共3个)元素
(5)int b[7]={1,2,3,4,5,9,8};
     vector<int> a(b,b+7); //从数组中获得初值
(6)vector<int> ilist1;默认初始化,vector为空, size为0,还没有分配内存空间
(7)vector<int> ilist {1,2,3.0,4,5,6,7};ilist 初始化为列表中元素的拷贝,列表中元素必须与ilist的元素类型相容,整形会直接拷贝,其他类型会进行类型转换。

2.2 vector重要操作

(1)a.front(); //返回a的第一个元素
(2)a.empty(); //判断a是否为空,空则返回ture,不空则返回false
(3)a.pop_back(); //删除a向量的最后一个元素
(4)a.erase(a.begin()+0,a.begin()+3); //删除a中第0个到第2个元素
(5)a.push_back(5); //在a的最后一个向量后插入一个元素,其值为5
(6)a.insert(a.begin()+1,5); //在a的第1个元素(从第0个算起)的位置插入数值5
(7)a.size(); //返回a中元素的个数;
(8)a==b; //b为向量,向量的比较操作还有!=,>=,<=,>,<

2.3 顺序访问vector

1. 添加元素

没有说明长度,一般末位添加,肯定使用push_back

vector<int> b;
for(int i=1;i<=4;i++)
    b.push_back(i);

2. 访问元素

?一般会有两种方式,即迭代器访问和for循环中用size访问

vector<int> a;
for(int i=0;i<a.size();i++) //解法1
     cout<<a[i]<<endl;

for(vector<int>::iterator it=a.begin();it<a.end();it++) //解法2
     cout<<*it<<endl;

2.4 几种重要的算法

#include<algorithm>
(1)sort(a.begin(),a.end()); 
//对a中的从a.begin()(包括它)到a.end()(不包括它)的元素进行从小到大排列
(2)reverse(a.begin(),a.end()); 
//对a中的从a.begin()(包括它)到a.end()(不包括它)的元素倒置
(3)copy(a.begin(),a.end(),b.begin()+1); 
//把a中的从a.begin()(包括它)到a.end()(不包括它)的元素复制到b中,从b.begin()+1的位置开始复制,覆盖掉原有元素
(4)find(a.begin(),a.end(),10); //在a中的从a.begin()到a.end()的元素中查找10,若存在返回其在向量中的位置
	 vector<int>::iterator pos;
     pos=find(a.begin(),a.end(),n);
     if(pos!=a.end()) return false;
     else return true;

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:49:54  更:2022-03-22 20:51:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:27:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码