vector 中如何修改某一个元素的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector 中如何修改某一个元素的值?相关的知识,希望对你有一定的参考价值。

比如:
vector<int> a(10);
如何修改a[2]的值?

嗯,可以用下标值:如vector<int>
a;
a[i]就可以读取下标为i的元素值
或者使用迭代器
vecotr<int>::iterator
i;
*i就可以读取下标注为i的元素值
参考技术A vector可以像数组那样通过索引进行访问单个元素。
例如 :
vector<int> x(5, 0);
x[2] = 25;
参考技术B 和数组一样的修改
a[2] = 10;本回答被提问者采纳

Oracle通过一个字段的值将一条记录拆分为多条记录

参考技术A 本文个人拙见,若有出入,请指出——来自菜的颤抖
该方式的效率不高,如何优化,请看 记Oracle中regexp_substr函数的一次调优(速度提高99.5%)

表A中存放了集装箱的信息,一个集装箱一条记录,表B中存放了对于集装箱操作的指令,一条指令包括多个集装箱箱号,通过分号 ; 切割( TCIU2347687;XUTR3546865 ),现在的需求是,对于已经在指令表B中的集装箱,在查询表A时需要过滤掉。

所以必须将分号分割的记录,拆分成单独的记录。

变成:

Oracle可使用 regexp_substr函数 实现,实现上面切割的sql为:

其中 regexp_substr 各个参数的含义:

结果就是 aaa , 如果把第二个1变成2,输出就是 bbb 。
好了,这部分意图很明显了,下面就是把它每一个切割串取出来,看到上面取 level个 ,而这个 level 是个什么东西呢,在这个之前,先看 regexp_count(string, c) 函数,这个函数其实很好理解,返回string中c的个数。
然后就是这个level,这是一个伪列,和RowNum相似,

所以再回到最初的sql,也就很好理解了。

以上是关于vector 中如何修改某一个元素的值?的主要内容,如果未能解决你的问题,请参考以下文章

C++ STL删除vector中指定元素

Matlab,怎么寻找vector中等于a的元素,并将其替换成另两个元素?

怎么在数组中修改一个元素

c++ vector find 如何查找啊?语法是怎么写的?

在Java中怎么修改ArrayList()中元素的值?

如何修改数组中一个元素的值