做leetcode默认是写函数,当出现关于数组的题目时,一般来说C++传入类型是vector,C传入类型是int型数组或char型数组,同时也需要知道数组的长度,在此一并总结。 1.非字符串数组: sizeof(array) /sizeof(datatype) 注意如果用指针作为实参传入函数,sizeof(array)的值将出错,变为所指地址的值的长度 在C中可以用宏...
for (vector<int>::size_type ix = 0; ix != v.size(); ix ++){ printf("%d\t", v[ix]); } printf("\n"); printf("second: "); for (vector<int>::size_type ix1 = 0; ix1 != v1.size(); ix1 ++){ printf("%d\t", v1[ix1]); } printf("\n"); printf("third: ")...
//初始化一个一维长度为3的vectorvector<vector<int>> vec(3);//为每个一维vector初始化不同长度vec[0] = vector<int>(5); vec[1] = vector<int>(10); vec[2] = vector<int>(2);//打印vecfor(inti =0; i < vec.size(); ++i) {for(intj =0; j < vec[i].size(); ++j) { cout<<...
vector 是个容器 是复合类型 vector<char> 不会自动添加~ 是char 类型的容器 每个元素是一个个char字符 vecotr<string> 每个元素则会有\0 因为每个元素是string 类型的字符串 char str1[]="abcdefig";string str="abcdefig";const char str1*=str.c_str();是c风格的 字符串 char str1[...
(inti=1;i<arr.size();i++)arr[i][i]=1;}intmain(){intn=6;vector<vector<int>>arr;//编译无误,因为arr.size() == 0;arr[i][i]没有执行//编译有误,元素vector<int> 没有初始化,使用m[i][i]出错vector<vector<int>>arr(n);vector<vector<int>>arr(n,vector<int>(n));//编译无误...
size_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度 string::size_type 制类型一般就是unsigned int, 但是不同机器环境长度可能不同 win32 和win64上长度差别;size_type一般也是unsigned int 2. 为什么需要size_t——可移植性问题 ...
vector<vector<vector<int>>> cube(5, vector<vector<int>>(3, vector<int>(2, 0))); 画的很简陋,随便欣赏一下。 补充内容: 1.声明一个简单int容器 vector<int> v; 2.声明一个长度为5的容器 vector<int> v(5); 3.声明一个长度为5,所有元素初始值为0的容器 ...
C++中size()函数除了跟length()函数一样可以获取字符串长度之外,还可以获取vector类型的长度。size()主要是进行元素个数的计算,传入的参数一定要是一个数组。不能是单个变量或者是指针。 string str = "ADAS"; vector < int> num(10,5) int lenstr = str.size(); int lenvec = num.size(); //le...
3. 动态数组:除了使用指针和内存分配函数实现动态数组外,C++中还提供了标准模板库(STL)中的vector容器,可以方便地实现动态数组的功能。vector容器可以根据需要自动调整大小,支持随机访问和迭代器访问等。六、总结 数组是C语言中非常重要的一种数据结构,它提供了连续存储同一类型数据的能力,并支持通过下标快速访问和...