欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程语言 > c/c >内容正文

c/c

c stl中的向量vector -ag凯发k8国际

发布时间:2023/10/11 c/c 154 如意码农
ag凯发k8国际 收集整理的这篇文章主要介绍了 c stl中的向量vector 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

#include
#include
#include
using namespace std;
typedef vector vt;
int main()
{
 int i;
 vt v1(10); //定义向量10个元素,注意每个元素初始化为了0
 for (i = 0; i < 10; i )
  cout << v1[i] << " ";
 cout << endl;
//---输出0 0 0 0 0 0 0 0 0 0 
 int a[9] = { 1, 3, 2, 4, 6, 7, 8, 3,6 };
 vt v2(a, a 8);//将数组a的第一个元素到第8个元素作为v2初始化值
 for (vector::iterator it = v2.begin(); it != v2.end(); it )
  cout << *it << "  ";
 cout << endl;
//使用迭代器iterator遍历的方法输出向量元素,输出为1 3 2 4 6 7 8 3
//插入函数insert(),能在向量中指定位置插入一个元素
//--------------------------------------------------------------------------------------
//插入前结果  1 3 2 4 6 7 8 3
 v2.insert(v2.begin(), 4);//在v2开头(下标为0的元素)前面插入数据4
//插入后结果  4 1 3 2 4 6 7 8 3
 v2.insert(v2.begin() 2, 5);//把数据5插入到下标为2处
//插入后结果  4 1 5 3 2 4 6 7 8 3
 v2.insert(v2.end(), 18);//在v2最后插入数据18
//插入后结果  4 1 5 3 2 4 6 7 8 3 18
//---------------------------------------------------------------------------------------
//删除函数erase(),能在向量中指定位置插入几个元素
    vt v3(a, a 8);
 v3.erase(v3.begin() 2);//删除下标为2的元素
 for (vector::iterator it = v3.begin(); it != v3.end(); it )
  cout << *it << "  ";
  cout << endl;
//----输出结果1 3 4 6 7 8 3
 v3.erase(v3.begin() 1, v3.begin() 3);//左闭右开删除下标为1(包括1)到下标为3(不保存3)之间元素
 for (vector::iterator it = v3.begin(); it != v3.end(); it )
  cout << *it << "  ";
 cout << endl;
//----输出结果1 6 7 8 3
 v3.erase(v3.end()-1);//删除末尾元素,由于右开特性,*(v3.end()-1)才是左后一个元素
 for (vector::iterator it = v3.begin(); it != v3.end(); it )
  cout << *it << "  ";
 cout << endl;
//----输出结果1 6 7 8
//---调用clear()函数清空向量
 v3.clear();
 cout << v3.size() << endl; //输出为0
//------------------------------------------------------------------------------------------
//--sort()函数对向量进行(默认)升序排序包含于头文件#include
 vt v4(a, a 9);
 sort(v4.begin(), v4.end());
 for (i = 0; i < 9; i )
  cout << v4[i] << " ";
 cout << endl;
//输出1 2 3 3 4 6 6 7 8
}

总结

以上是ag凯发k8国际为你收集整理的c stl中的向量vector的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

网站地图