首页 > 其他分享 >vector大小、数据存取、插入删除操作

vector大小、数据存取、插入删除操作

时间:2022-09-24 10:44:49浏览次数:60  
标签:容器 arr int 插入 vector printVector 100 存取 1000

#include <iostream>
#include <vector>
using namespace std;

/*
size();//返回容器中元素的个数
empty();//判断容器是否为空
resize(int num);//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
resize(int num, elem);//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。如果容器变短,则末尾超出容器长>度的元素被删除。
capacity();//容器的容量
reserve(int len);//容器预留len个元素长度,预留位置不初始化,元素不可访问。
*/

/*
at(int idx); //返回索引idx所指的数据,如果idx越界,抛出out_of_range异常
operator[];//返回索引idx所指的数据,越界时,运行直接报错
front();//返回容器中第一个数据元素
back();//返回容器中最后一个数据元素
*/

void printVector(vector<int> & v) {
	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;
}

void test01() {
	int arr[] = { 2, 3, 4, 1, 9 };
	vector<int> v(arr, arr + sizeof(arr) / sizeof(int));

	if (v.empty()) {
		cout << "v为空" << endl;
	}
	else {
		cout << "v不为空" << endl;
		cout << "size = " << v.size() << endl;
	}

	printVector(v);

	// v.resize(3);
	// v.resize(7);
	v.resize(7, 100);

	printVector(v);

	cout << v.at(2) << endl;
	cout << v[2] << endl;

	cout << "第一个元素为:" << v.front() << endl;
	cout << "最后一个元素为:" << v.back() << endl;

}


/*
insert(const_iterator pos, int count,ele);//迭代器指向位置pos插入count个元素ele
push_back(ele); //尾部插入元素ele
pop_back();//删除最后一个元素
erase(const_iterator start, const_iterator end);//删除迭代器从start到end之间的元素
erase(const_iterator pos);//删除迭代器指向的元素
clear();//删除容器中所有元素
*/

void test02() {
	int arr[] = { 2, 3, 4, 1, 9 };
	vector<int> v(arr, arr + sizeof(arr) / sizeof(int));

	v.insert(v.begin(), 100);	// 100 2 3 4 1 9
	v.insert(v.begin(), 2, 1000);	// 1000 1000 100 2 3 4 1 9
	printVector(v);

	v.push_back(33);	// 1000 1000 100 2 3 4 1 9 33
	printVector(v);

	v.pop_back();
	printVector(v);	// 1000 1000 100 2 3 4 1 9 

	v.erase(v.begin());	
	printVector(v);	// 1000 100 2 3 4 1 9 

	v.clear();
	printVector(v);
}


// vector的大小、数据存取、插入和删除操作
int main() {

	test02();

	return 0;
}

  

标签:容器,arr,int,插入,vector,printVector,100,存取,1000
From: https://www.cnblogs.com/lutixiagit/p/16725106.html

相关文章

  • vector容器
    1.vector迭代器vector维护一个线性空间,所以不论元素的型别如何,普通指针都可以作为vector的迭代器,因为vector迭代器所需要的操作行为,如operator*、operator->.operator++......
  • 插入排序
    简介插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的插入排序(InsertionSorting)的基本思想是:把n个待排序的元素看成为......
  • python向excel中插入折线图
    importopenpyxlfromopenpyxl.chartimportLineChart,Referenceworkbook=openpyxl.load_workbook('file/data.xlsx')sheet=workbook['薪水']#创建折线图的......
  • Python 使用psycopg2批量插入PG库
    importpsycopg2conn=psycopg2.connect(database="sdp",user="kiki",password="123",host="",port="5432")cursor=conn.cursor()stas_sql="select*fromtable......
  • JS 使用sessionStorage存取对象时显示[object object]的解决
    使用sessionStorage进行数据存取,如果数据是对象,则提取时为[objectobject],基于此问题,解决方法如下: 保存数据时window.sessionStorage.setItem("key",JSON.stringify(v......
  • spring boot下使用RedisTemplate操作redis存取对象
     在springboot环境下有个StringRedisTemplate对象,默认已经为我们配置好了,只需要自动注入过来就能用,但是使用它只能在Redis中存放字符串。具体操作如下:@RunWith(Spring......
  • C# Sql多字段插入(反射!)
    publicboolInsert(objectobj){Typetype=obj.GetType();PropertyInfo[]properties=type.GetProperties();st......
  • 【日历问题】Android应用插入日历返回的Uri为空
    ​【问题描述】Android应用插入日历返回的Uri为空(仅在鸿蒙系统出现)valvalues=ContentValues().apply{put(CalendarContract.Reminders.EVENT_ID,ContentUris.par......
  • vector 初步学习记录
    cat/etc/vector/vector.toml[sources.elasticsearch_search_slowlog]type="file"include=["/var/log/elasticsearch/picapica_es_index_search_slowl......
  • 冒泡排序 和 插入排序
    packagecom.zc.original_test;importjava.util.Arrays;publicclassOrderTest{publicstaticvoidmain(String[]args){int[]or=newint[]{10,18,......