首页 > 其他分享 >STL用法

STL用法

时间:2023-12-06 12:56:07浏览次数:38  
标签:下标 cout STL 用法 尾部 int vector vec2

1.vector数组从尾部插入,尾部删除。相关用法代码如下:

 1         //1.尾部插入及删除数字
 2     vec2.push_back(1);  //尾部插入元素
 3         vec2.pop_back()     //删除尾部元素
 4  
 5     //2.使用下标访问元素,
 6     cout << vec2[0] << endl; //记住下标是从0开始的。
 7  
 8     //3.使用迭代器访问元素.
 9     vector<int>::iterator it;
10     for (it = vec2.begin(); it != vec2.end(); it++)
11         cout << *it << endl;
12  
13     //4.插入元素:    
14     vec2.insert(vec2.begin() + i, a); //在第i + 1个元素前面插入a;
15  
16     
17     //5.删除元素:    
18     vec2.erase(vec2.begin() + 2); //删除第3个元素
19  
20     vec2.erase(vec2.begin() + i, vec2.end() + j); //删除区间[i, j - 1]; 区间从0开始
21  
22     //6.求数组大小:
23     vec2.size();
24  
25     //7.清空 : 
26     vec2.clear();
Code

例题:Problem - B - Codeforces

该题利用两个vector分别存入小写和大写字母的下标,并且出现b和B的时候删除,最后按照下标从小到大输出

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4  
 5 const int N = 210,inf = 1e9;
 6 int n,m; 
 7 int _;
 8  
 9 int main()
10 {
11     ios::sync_with_stdio(0);
12     cin.tie(0);
13     cout.tie(0);
14     cin >>_;
15     while(_ --)
16     {
17       string s;
18       cin >> s;
19       int n = s.size();
20       vector<int> a,b; //用vector数组来存储大小写字母的下标
21       for (int i = 0; i < n; i ++ )
22       {
23           if(s[i] == 'b')
24           {
25               if(a.size()) a.pop_back(); //从尾部删除
26           }else if(s[i] == 'B'){
27               if(b.size()) b.pop_back();
28           }else if(s[i] >= 'a' && s[i] <= 'z'){
29               a.push_back(i);//尾部插入
30           }else {
31               b.push_back(i);
32           }
33       }
34       
35       int k1 = 0,k2 = 0; //定义两个指针
36       while(k1 < a.size() || k2 < b.size()){
37           if(k1 < a.size() &&(k2 >= b.size() || a[k1] < b[k2])) {//比较下标哪个小输出哪个
38               cout << s[a[k1]] ;
39               k1 ++;
40           }else 
41           {
42               cout << s[b[k2]];
43               k2 ++;
44           }
45       }
46       cout << endl;
47     }
48     return 0;
49 }
Code

 

标签:下标,cout,STL,用法,尾部,int,vector,vec2
From: https://www.cnblogs.com/rw666/p/17879257.html

相关文章

  • System.Diagnostics.Process.Start 用法
    原文链接:https://blog.csdn.net/polloo2012/article/details/82110642System.Diagnostics.Process.Start();能做什么呢?它主要有以下几个功能:1、打开某个链接网址(弹窗)。2、定位打开某个文件目录。3、打开系统特殊文件夹,如“控制面板”等。那么它是怎么实现这几个功能的呢?在讲......
  • 2023.12.5 stl list容器
    3.7.1list基本概念 功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成:链表由一系列结点组成 结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域 STL中的链表......
  • awk常见用法(更新中)
    来源十分钟学习awk命令常用将Linux命令输出结果的第n列的所有内容过滤出来:ps|awk'{print$1}'这个列的分隔符默认是会把空格给排除掉。如果是类似于path变量这种,使用冒号作为分割,可以使用-F选项:awk-F':''{print$1}'打印多列则将以上print部分修改为:ps|......
  • mapstruct 高级用法自定义转换规则
    https://svip888.blog.csdn.net/article/details/115706803?spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-115706803-blog-117566307.235%5Ev39%5Epc_relevant_3m_sort_dl_base3&depth_1-utm_sourc......
  • .NET Core C#系列之UseStaticFiles静态文件高级用法
    转自:https://blog.csdn.net/sD7O95O/article/details/130002295静态文件解决跨域代码如下:1app.UseStaticFiles(newStaticFileOptions2{3OnPrepareResponse=(c)=>4{5......
  • go const 用法
    packagemainimport"fmt"funcmain(){//声明变量//iota//iota,特殊常量,可以认为是一个可以被编译器修改的常量。//在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。//iota可以被用......
  • .NET(C#) new 关键字的三种用法
    在.NET中使用C#编程时,new关键字具有多种用途,主要包括实例化对象、隐藏继承的成员以及创建匿名类型。下面详细介绍这些用途:1.实例化对象new关键字最常见的用途是创建一个类的实例。当使用new创建对象时,它为对象分配内存并调用构造函数来初始化该对象。这是创建任何类或......
  • stl容器
    3.5stack容器3.5.1stack基本概念 概念:stack是一种先进后出(FirstInLastOut,FILO)的数据结构,它只有一个出口   栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为---入栈push栈中弹出数据称为---出栈pop 生活中的栈:   ......
  • stl中迭代器的删除
    Z1584.noip题海战Description某校举行了k场集训,集训有两种方式:比赛和训练对于每场比赛,他要保证所出的所有试题,对于所有学生来说,都是从来没有做过的而对于每场训练,他要保证所出的所有题都被每一个参赛学生做过。FormatInput第一行2个正整数n和m,表示学生数和试题总数第2~n+1行......
  • Linux脚本中($0、$?、$*、$@、$#、$$、$!)这些符号的含义及用法
    $0:就是该bash文件名,个位数的,可直接使用数字,但两位数以上,则必须使用{}符号来括住,如${10}.$?:是上一指令的返回值,成功是0,不成功是1。一般来说,UNIX(linux)系统的进程以执行系统调用exit()来结束的。这个回传值就是status值。回传给父进程,用来检查子进程的执行状态。一般指令程序......