首页 > 其他分享 >vector动态数组库

vector动态数组库

时间:2023-04-22 15:57:22浏览次数:33  
标签:begin int 元素 vector vec 数组 vec1 动态

#include <vector>
using namespace std;
vector<int> vec1; // 定义一个空的vector,元素类型为int
vector<int> vec2(10); // 定义一个大小为10的vector,元素类型为int,初始值为0
vector<int> vec3(10, 1); // 定义一个大小为10的vector,元素类型为int,初始值为1
vector<int> vec4 = {1, 2, 3}; // 使用花括号进行初始化
vector<int> vec5(vec4); // 使用拷贝构造函数进行初始化

#include <vector>
using namespace std;
vector<int> vec = {1, 2, 3};
// 获取vector的大小
int size = vec.size();
// 获取vector的某个位置的元素
int element = vec[0]; // 获取第一个元素
// 修改vector的某个位置的元素
vec[0] = 4; // 将第一个元素修改为4
// vector的插入和删除
vec.push_back(4); // 在vector的末尾插入一个元素
vec.insert(vec.begin() + 1, 5); // 在vector的第二个位置插入元素5
vec.erase(vec.begin() + 2); // 删除vector的第三个元素
// vector的遍历
for (int i = 0; i < vec.size(); i++) {
    cout << vec[i] << " ";
}
for (int element : vec) {
    cout << element << " ";
}

#include <vector>
#include <algorithm>
using namespace std;
vector<int> vec = {3, 1, 4, 1, 5, 9};
// vector的排序
sort(vec.begin(), vec.end()); // 对vector进行排序
// vector的查找
auto it = find(vec.begin(), vec.end(), 4); // 查找4在vector中的位置
if (it != vec.end()) {
    cout << "4 found at position " << it - vec.begin() << endl;
} else {
    cout << "4 not found" << endl;
}
// vector的拼接
vector<int> vec1 = {1, 2};
vector<int> vec2 = {3, 4};
vec1.insert(vec1.end(), vec2.begin(), vec2.end()); // 将vec2中的元素插入到vec1的末尾
// vector的反转
reverse(vec1.begin(), vec1.end()); // 反转vector

标签:begin,int,元素,vector,vec,数组,vec1,动态
From: https://www.cnblogs.com/full-stack-linux-new/p/17343226.html

相关文章

  • ORCLE静态监听注册/动态监听注册
    1.什么是注册注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时......
  • 剑指Offer——03.数组中重复的数字(c语言)
    title:剑指Offer03.数组中重复的数字(c语言)找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,......
  • 牛客网——数组中出现次数超过一半的数字
    title:牛客网——数组中出现次数超过一半的数字题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。示例:输入[1,2,3,2,2,2......
  • 力扣——6.动态规划
    title:动态规划6、最长上升子序列(1)采用动态规划,算法复杂度为O(n*n)intlengthOfLIS(int*nums,intnumsSize){inti,j,max=1;if(NULL==nums||0==numsSize){return0;}int*dp=(int*)malloc(numsSize*sizeof(int));memset(dp,0,nu......
  • 力扣——240.搜索二维数组II(c语言)
    title:力扣——240.搜索二维数组II(c语言)同《剑指offer》04题目描述:编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1:输入:matrix=[[1,4,7,11,15],[2,5,8,12,19],......
  • 二维数组
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(void){ intarr[4][3]= { {12,23,43}, {22,43,55}, {45,57,76}, {54,53,79} }; intsum=0; inti,j; for(i=0;i<3;i++) { for(j=0;j<4;j++) {  sum+=ar......
  • c 数组名和指针的区别
    关于c中数组名和指针的区别我写了一下程序进行测试并就自己的理解做了详细的解释,供自己以后复习,大佬批评指正和需要的网友参考学习。环境:gcc(mingw或cygwin)代码:1#include<stdlib.h>2intmain(intargc,charconst*argv[])3{4intarr[10]={23456,3,4,5,6,......
  • 【DP】LeetCode 718. 最长重复子数组
    题目链接718.最长重复子数组思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums以第i个元素组成(即nums[i-1])的状态;dp[i][j]分别表示以nums1前i个元素(......
  • C 语言数组操作
    -1.初始化: ```cintarr[5]={1,2,3,4,5};//初始化为1,2,3,4,5intarr[5]={0};//初始化为0``` 2.访问: ```cintarr[5]={1,2,3,4,5};inta=arr[0];//获取第一个元素的值``` 3.遍历: ```cintarr[5]={1,2,3,4,5};for(inti......
  • day52 300.最长递增子序列 | 674. 最长连续递增序列 | 718. 最长重复子数组
    给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101......