IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 210805算法日记:数据结构的遍历方式&getline()与0&&‘0‘的区别&子串判断的一般方式 -> 正文阅读

[数据结构与算法]210805算法日记:数据结构的遍历方式&getline()与0&&‘0‘的区别&子串判断的一般方式

  • 1、数据结构的遍历方式
  • 当然是范围遍历,迭代器遍历,直接遍历三种了
  • vector支持三种遍历
for(int i=0;i<v.size();i++)
cout<<v[i]<<endl;
for(vector<int>::iterator it=v.begin();it<v.end();it++)
cout<<*it<<endl;
for(int x:v) cout<<x<<endl;
尽量不写auto
  • set只支持范围遍历
for(int x:s) cout<<x<<endl;
尽量不写auto
  • map只支持当作数组的直接遍历法,且很局限
map<char,int>mp;
    mp['a']=1;
    mp['b']=2;
    mp['c']=3;
    for(char i='a';i<='z';i++) cout<<mp[i]<<endl;
  • 2、getline(cin,s)函数
  • 携带空格输入字符串的函数,要是数据很糟糕可先用getchar吃回车
string s;
getline(cin,s);
输入:asdfghjkl<回车>
输出:asdfghjkl
  • get函数已经被舍弃,forget也不好用会读入回车,只有getline还算很好
  • 3、0&&‘0’
  • 今天做题发现字符串翻转去掉前导零老是搞混乱,下次一定要注意字符串翻转前导零和小数翻转的后导零都要去掉
    while(s[cnt]=='0'&&cnt>0) cnt--;
    int x=cnt;
        for(int i=cnt;i>=0;i--)
           cout<<s[i];
    m=s.size()-1;
    while(s[x+1]=='0'&&x<m-1) x++;
    while(s[m]=='0'&&x<m-1) m--;
    for(int i=m;i>x;i--)
        cout<<s[i];
  • 去除前串翻转之后的前导零
  • 去除后串翻转之后的前导后导零并最少留一位0
  • 4、子串判别的一般方式
  • 找到对应的位置遍历子串完全匹配就是他的子串,否则循环遍历母串的下一个开头
for(int i=0;i<s.size();i++)
    {
        if(str[0]==s[i])
        {
            int cnt=0;
            for(int j=0;j<str.size();j++)
            {
                if(str[j]==s[i+j])
                {
                    cnt++;
                }
            }
            if(cnt==str.size()&&(s[i-1]==32||i==0)&&s[i+cnt]==32)
            {
                if(!is_find)pos=i;
                ans++;
                is_find=true;
            }
        }
    }
  • 210805完结

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 21:13:51  更:2021-08-06 21:14:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:21:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码