C++ push方法与push_back方法的使用与区别
【摘要】
push与push_back是STL中常见的方法,都是向数据结构中添加元素。初识STL,对于添加元素的方法以产生混淆,这里暂对两种方法作出比较分析。此外,本文还将简述push对应的stack与queue系列,常见方法的介绍,以及与push_back相对应的vector系列常见方法介绍。详见下文。
list也是使用push_back.
【正文】
push_back方法介绍
vector::voidpush_back(constvalue_type&val);
vector::voidpush_back(value_type&&val);
该函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素,新的元素的值是val的拷贝(或者是移动拷贝)
vector常见方法介绍
(1)vector<类型>标识符;
(2)vector<类型>标识符(最大容量);
(3)vector<类型>标识符(最大容量,初始所有值);
(4)inti[4]={12,3,4,5};
vector<类型>vi(i,i+2);//得到i索引值为3以后的值;
(5)vector
vectorline//在使用的时候一定要首先将vi个行进行初始化; for(inti=0;i<10;i++) { vector.push_back(line); }
vector定义二维数组,长度可以不预先确定。
(6)C++vector排序
vectorvi; vi.push_back(1); vi.push_back(3); vi.push_back(0); sort(vi.begin(),vi.end());////从小到大 reverse(vi.begin(),vi.end());///从大到小
(7)顺序访问
vectorvi; for(inti=0;i<10;i++) { vi.push_back(i); } for(inti=0;i<10;i++)///第一种调用方法 { cout< ::iteratorit=vi.begin();it!=vi.end();it++)///第二种调用方法 { cout<<*it<<""; }
(8)查找
vectorvi; for(inti=0;i<10;i++) { vector.push_back(i); } vector ::interatorit=find(vi.begin(),vi.end(),3); cout<<*it< (9)使用数组对C++vector进行初始化
inti[10]={1,2,3,4,5,6,7,78,8}; ///第一种 vectorvi(i+1,i+3);///从第2个元素到第3个元素 for(vector ::interatorit=vi.begin();it!=vi.end();it++) { cout<<*it<<""; } (10)结构体的vector
structtemp { public: stringstr; public: intid; }tmp; intmain() { vectort; tempw1; w1.str="Helloworld"; w1.id=1; t.push_back(t1); cout< push函数介绍
stack::push();//在栈顶增加元素 queue::push();//将x接到队列的末端。stack与queue常见方法介绍
1、stack
stack模板类的定义在
头文件中。 stack模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。
定义stack对象的示例代码如下:
stack
s1; stack
s2; stack的基本操作有:
入栈,如例:s.push();在栈顶增加元素
出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。
访问栈顶,如例:s.top()
判断栈空,如例:s.empty(),当栈空时,返回true。
访问栈中的元素个数,如例:s.size()。
2、queue
queue模板类的定义在
头文件中。 与stack模板类很相似,queue模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型。
定义queue对象的示例代码如下:
queue
q1; queue
q2; queue的基本操作有:
入队,如例:q.push(x);将x接到队列的末端。
出队,如例:q.pop();弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
访问队首元素,如例:q.front(),即最早被压入队列的元素。
访问队尾元素,如例:q.back(),即最后被压入队列的元素。
判断队列空,如例:q.empty(),当队列空时,返回true。
访问队列中的元素个数,如例:q.size()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。