vector的定义方法(怎么定义vector可以接受多种类型,就是用户选择要输入的类型,如: 选择int 定义int 类型的vector 等等)

本文目录
- 怎么定义vector可以接受多种类型,就是用户选择要输入的类型,如: 选择int 定义int 类型的vector 等等
- 使用vector 类型是一个数组,该怎么定义呢 v
- c++怎么定义vector的引用
- C++定义一个类,类的对象是vector,vector的元素是数组,用C++该怎么表示呢很急,求大神帮忙!
- Java中Vector的定义
怎么定义vector可以接受多种类型,就是用户选择要输入的类型,如: 选择int 定义int 类型的vector 等等
1. 设置一个共同体,共同体里面可以有int,float等类型的数据,然后定义
vector《共同体名字》 m1;
2. 定义 vector《void*》 m1; 也就是使用指针,使用不同的类型,只需指针指向对应数据就可以了。
使用vector 类型是一个数组,该怎么定义呢 v
#include 《string》
#include 《vector》
void foo()
{
typedef vector《string》 strArray;
typedef vector《strArray》 strArray2;
strArray strings1;
strings1.push_back("string1");
strings1.push_back("string2");
strArray2.push_back(strings1);
strArray strings2;
strings2.push_back("string21");
strings2.push_back("string22");
strArray2.push_back(strings2);
}
c++怎么定义vector的引用
(1)vector《 类型 》 标识符 ;
(2)vector《 类型 》 标识符(最大容量) ;
(3)vector《 类型 》 标识符(最大容量,初始所有值);
(4) int i = {12,3,4,5};
vector《 类型 》 vi(i , i+2); //得到i索引值为3以后的值 ;
(5)vector《 vector《int》 》 //vi 定义2维的容器;记得一定要有空格,不然会报错
vector《 int 》 line
// 在使用的时候一定要首先将vi个行进行初始化;
for(int i = 0 ; i 《 10 ; i ++)
{
vector.push_back(line);
}
/// 个人认为使用vector定义二维数组很好,
因为是长度可以不预先确定。很好。
(6)C++ Vector排序
vector《 int 》 vi ; vi.push_back(1); vi.push_back(3); vi.push_back(0); sort(vi.begin() , vi.end()); /// /小到大 reverse(vi.begin(),vi.end()) /// 从大道小
(7)顺序访问
vector 《 int 》 vi ; for( int i = 0 ; i 《 10 ; i ++) { vector.push_back(i); } for(int i = 0 ; i 《 10 ; i ++) /// 第一种调用方法 { cout 《《vector 《《" " ; } for(vector《int》::iterator it = vi.begin() ; it !=vi.end() ; it++) ///第二种调用方法 { cout 《《 *it 《《 " " ; }
(8)寻找
vector 《 int 》 vi ; for( int i = 0 ; i 《 10 ; i ++) { vector.push_back(i); } vector 《 int 》::interator it = find(vi.begin() , vi.end,3) ; cout 《《 *it 《《 endl ; ///返回容器内找到值的位置。
(9)使用数组对C++ Vector进行初始化
int i ={1,2,3,4,5,6,7,78,8} ; ///第一种 vector《int》 vi(i+1,i+3); ///从第2个元素到第三个元素 for(vector 《int》::interator it = vi.begin() ; it != vi.end() ; it++) { cout 《《 *it 《《" " ; }
(10) 结构体类型
struct temp { public : string str ; public : int id ; }tmp int main() { vector 《temp》 t ; temp w1 ; w1.str = "Hellowor" ; w1.id = 1 ; t.push_back(t1); cout 《《 w1.str 《《 "," 《《w1.id 《《endl ; return 0 ; }
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准
C++引入的标准库的一部分 ,为了使用vector 必须包含相关的头文件 。
C++定义一个类,类的对象是vector,vector的元素是数组,用C++该怎么表示呢很急,求大神帮忙!
你可以写出vector《int》 vec这样的定义,这在大部分编译器下都是可以通过编译的,但没有任何用处。因为数组不支持=赋值操作符,在push_back的时候会有问题。用vector《vector《int》》应该很容易达到你要的效果。
如果非要用数组的话,折中的方法我想到的有两种:
1. 使用vector《int*》 vec这样的定义,访问数组数据时用计算地址的方法代替索引。比如:
int a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,};
vec.push_back(a);
int res = *(vec + 3); // res = 3
2.使用一个类对数组进行一次包装,然后重载该类的=操作符。比如:
class A
{
public:
int a;
A& operator=(const A& aa)
{
for(int i = 0; i 《 10; i++)
a;
}
};
这样可以用vector《A》 vec定义完成类似的功能。如:
A r1; r1.a = {1, 2, 3, ....} (这一行是伪代码)
A r2; r2.a = {1, 3, 5, ....} (伪代码)
vec.push_back(r1);
vec.push_back(r2);
int res = vec; // res = 1
res = vec;// res = 3
以上。望采纳。
Java中Vector的定义
Vector 可实现自动增长的对象数组。
java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量。比如在c,c++中所谓的“动态数组”一般都由指针来实现。为了弥补这个缺点,Java提供了丰富的类库来方便编程者使用,vector类便是其中之一。事实上,灵活使用数组也可以完成向量类的功能,但向量类中提供大量的方法大大方便了用户的使用。
创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况。可以考虑使用向量类。
向量类提供了三种构造方法:
public vector()
public vector(int initialcapacity,int capacityIncrement)
public vector(int initialcapacity)
举例说明:
import java.util.Vector;
import java.lang.*;
import java.util.Enumeration;
public class VectorApp
{
public static void main(String args)
{
Vector v1 = new Vector();
Integer integer1= new Integer(1);
//加入为字符串对象
v1.addElement("one");
//加入的为integer的对象
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement("two");
v1.addElement(new Integer(2));
v1.addElement(integer1);
v1.addElement(integer1);
//转为字符串并打印
System.out.println("The Vector v1 is:\n\t"+v1);
//向指定位置插入新对象
v1.insertElement("three",2);
v1.insertElement(new Float(3.9),3);
System.out.println("The Vector v1(used method
insertElementAt()is:\n\t)"+v1);
//将指定位置的对象设置为新的对象
//指定位置后的对象依次往后顺延
v1.setElementAt("four",2);
System.out.println("The vector v1 cused method setElmentAt()is:\n\t"+v1);
v1.removeElement(integer1);
//从向量对象v1中删除对象integer1
//由于存在多个integer1,所以从头开始。
//找删除找到的第一个integer1.
Enumeration enum = v1.elements();
System.out.println("The vector v1 (used method removeElememt()is");
while(enum.hasMoreElements())
System.out.println(enum.nextElement()+"");
System.out.println();
//使用枚举类(Enumeration)的方法取得向量对象的每个元素。
System.out.println("The position of Object1(top-to-botton):"+v1.indexOf(integer1));
System.out.println("The position of Object1(tottom-to-top):"+v1.lastIndexOf(integer1));
//按不同的方向查找对象integer1所处的位置
v1.setSize(4);
System.out.println("The new Vector(resized the vector)is:"+v1);
//重新设置v1的大小,多余的元素被抛弃
}
}
运行结果:
运行结果:
E:\java01》java VectorApp
The vector v1 is:
The vector v1(used method insetElementAt()) is:
The vector v1(used method setElementAt()) is:
The vector v1(useed method removeElement()) is:
one four 3.9 1 two 2 1 1
The position of object1(top-to-botton):3
The position of object1(botton-to-top):7
The new Vector(resized the vector) is:

更多文章:
雨崩近年危险事件调查(下雨好长时间了,去雨崩的路况怎么样有刚从雨崩回来的吗)
2026年9月27日 13:20
shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)
2026年9月27日 10:50
dos显示文件内容命令(DOS下DIR命令查看文件 文件太多 屏幕上面的看不见 怎么办)
2026年9月27日 10:20
oracle维护中的常见问题(紧急求助:oracle内存不释放的故障)
2026年9月27日 04:40
flash脚本编写(flash中点击一个按钮跳转到第二帧,再点击回到第一帧,这么脚本怎么编写)
2026年9月27日 01:10





