首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Java 基础篇】Java LinkedList 详解:数据结构的灵活伙伴

    它将元素添加到列表的末尾。 linkedList.add("橙子"); 3.1.2 在指定位置添加元素 您还可以使用 add 方法在指定位置插入元素。指定位置是通过索引来确定的,索引从 0 开始。...linkedList.add(1, "葡萄"); // 在索引 1 处插入 "葡萄" 3.2 获取元素 3.2.1 get 方法 要获取 LinkedList 中的元素,可以使用 get 方法,指定元素的索引...可以指定要删除的元素或要删除的元素的索引。 linkedList.remove("香蕉"); // 删除 "香蕉" linkedList.remove(1); // 删除索引 1 处的元素 4....linkedList.add(2, "葡萄"); // 在索引 2 处插入 "葡萄" 5.3 替换元素 您可以使用 set 方法来替换 LinkedList 中的元素。...linkedList.set(1, "蓝莓"); // 将索引 1 处的元素替换为 "蓝莓" 6.

    1.6K60

    GNURadio+USRP+OFDM实现文件传输

    const std::string& len_key_name, const std::string& frame_key_name, const std::string& num_key_name...这里没有丢失任何信息;k(每个输入的字节位数)和 l(每个输出的字节位数)的任何值([1, 8] 内)都是允许的。在每个新输入字节上,它开始读取 LSB,并开始复制到 LSB。...3” 处的包长度为 48 字节 “4” 处的包长度为 400 字节 2)调制后组成一帧 OFDM 信息 OFDM 头部和有效载荷调制后组成一帧 OFDM 信息。...同步序列检测: 然后,接收端需要在接收到的信号中找到用于同步的特定序列,通常是 OFDM 帧的循环前缀(Cyclic Prefix)。...在一个无线通信系统中,当接收到数据帧的结束符或者校验通过时,可以发送一个触发信号给 Header/Payload Demux 模块,以指示当前帧的头部信息已经完整接收,并且可以开始解析下一个帧的头部信息了

    1.5K10

    string类(上)(解析各种成员函数)

    std::cout std::endl; // 替换文本 str.replace(7, 6, "Fantastic "); // 从索引7开始,替换6个字符为...如果 pos(即查找函数返回的位置)不等于 std::string::npos,那么意味着找到了匹配项,且 pos 是匹配项在字符串中的起始位置(基于0的索引)。...; // 从第五个开始全部删除 s1.erase(5); cout << s1 << endl; return 0; } 2.5 string迭代器 在C++中,std::string类(以及许多其他容器类...【基于范围的for循环】 从C++11开始,你还可以使用基于范围的for循环来遍历std::string(或任何其他容器),这使得代码更加简洁。..., char&)来修改字符串的内容 return 0; } 然而,请注意,基于范围的for循环并不直接提供迭代器的访问,因此如果你需要迭代器的特定功能(如随机访问或修改字符串的特定部分

    24210

    【优选算法】滑动窗口——leetcode——串联所有单词的⼦串(hard)

    "acdbef" 不是串联子串,因为他不是任何 words 排列的连接。 返回所有串联子串在 s 中的开始索引。你可以以 任意顺序 返回答案。...string in = s.substr(right, len); s.substr(right, len) 提取从 right 开始的 len 长度的子串,存储在 in 中。...随机访问:支持高效的随机访问,可以通过索引直接访问任意元素。 自动内存管理:自动管理内存的分配和释放。 常用函数: push_back(value): 在末尾添加一个元素。...pop_back(): 删除末尾的元素。 size(): 返回当前元素的个数。 operator[]: 通过索引访问元素。 std::vector 是一个动态数组,提供了可以动态调整大小的数组实现。...3. std::unordered_map 定义:std::unordered_map是C++11标准引入的哈希表容器,用于存储键值对,支持快速查找。 特点: 无序存储:元素没有特定的顺序。

    23210

    【C++】STL 容器 - string 字符串操作 ⑤ ( string 字符串查找 | find 函数查找字符串 | rfind 函数查找字符串 )

    pos=0) const; 从指定位置开始查找 char* 字符串 : 在 string 字符串中 , 从 pos 索引位置 ( 包括该位置索引自身 ) 开始查找 char* 类型字符串 s 在当前字符串的位置...string::npos / -1 就一直循环下去 , 直到返回 string::npos / -1 为止 ; 在循环中 , 每次索引自增 3 , 继续查找后续索引, 此处跳过本次查找的字符串 ;...c ; 如果找到 则返回该字符在字符串中的位置 , 返回的位置索引 从0开始计数 ; 如果没有找到返回string::npos / -1 ; 从指定位置开始查找 字符 : 在 string 字符串中...string 字符串 : 在 string 字符串中 , 从 npos 索引位置 ( 包括该位置索引自身 ) 开始 从右向左 查找 string 类型字符串 s 在当前字符串的位置 , 如果没有查到就返回...-1 ; 如果找到 则返回该字符在字符串中的位置 , 返回的位置索引 从0开始计数 ; 如果没有找到返回string::npos / -1 ; int rfind(const string &s, int

    5.6K10

    【C++】STL 容器 - string 字符串操作 ⑥ ( string 字符替换 - replace 函数替换字符串 | string 字符交换值 - swap 函数交换字符串 )

    , 删除从 pos 开始的 n 个字符 ; 然后 , 在 pos 处插入 字符串 s ; replace 函数原型 : string& replace(int pos, int n, const char...* s); string& replace(int pos, int n, const string& s); 参数说明 : pos : 要替换的子字符串的起始位置 , 位置从 0 开始计数 ; n...0 位置开始的 3 个字符 , 然后在 0 位置处插入 Jack 字符串 , 最终返回的 string& 类型的引用 就是 原字符串的引用 ; // 删除从 0 位置开始的 3 个字符 // 然后在...0 位置处插入 Jack 字符串 // 返回的索引仍然是字符串本身 string s2 = s1.replace(0, 3, "Jack"); 代码示例 : #include "iostream"...; // 删除从 0 位置开始的 3 个字符 // 然后在 0 位置处插入 Jack 字符串 // 返回的索引仍然是字符串本身 string s2 = s1.replace(0, 3, "Jack

    6.2K10

    蓝桥练习题总结(一)字母图形、完美的代价、01串、序列求和

    开始准备: 回文字符串,使字符串满足两端中心对称,设置一个头指针和尾指针。头指针指向第一个字母,下标为0;尾指针指向最后一个字母,下标为n - 1;并再使用一个指针记录尾指针开始遍历的位置。...外层循环从头指针i开始,遍历到倒数第二个字符。内层循环从尾指针k开始,从字符串末尾向前遍历,寻找与头指针i处的字符相等的字符。...将尾指针往后的节点全部都向前移动,记录指针处的节点赋值为头指针处的值,这样就保证了中心对称 // 外层循环遍历字符串的每个字符,直到倒数第二个字符 for(i=0; i<t; ++i)...找到相同字母: 如果找到了与头指针i处字符相等的字符,我们将匹配字符后面的所有字符都向前移动一位,并累计移动次数。 然后,我们更新字符串的末尾索引t,并将匹配的字符移动到其正确的位置(即末尾)。...n; // 定义一个长整型变量n来存储用户输入 scanf("%I64d", &n); // 使用scanf函数读取用户输入的长整型数值,并存储在n中 long long sum =

    14810

    【优选算法】滑动窗口——leetcode——438.找到字符串中所有字母异位词

    hash1[i]表示字符'a' + i在字符串p中的出现次数。 循环遍历字符串p,更新hash1数组。...范围 for 循环: C++11 引入的循环方式,简化了遍历操作。 字符数组与频率统计: 使用数组来记录字符出现的频率,并进行简单的数学运算实现高效统计。...范围 for 循环 概述:范围 for 循环是 C++11 引入的一种简化遍历容器的方式。 特点: 简化代码:不需要显式地定义迭代器或索引变量。 安全性:自动处理容器的边界,减少越界错误。...实现:使用两个指针(左指针和右指针)来维护一个窗口,该窗口在数组或字符串中滑动,以寻找满足特定条件的子数组或子串。 特点: 高效:通过调整指针位置来动态维护窗口,减少不必要的计算。...成员函数:在类的内部定义的方法,可以操作类的成员变量。 访问控制:通过 public, protected, private 控制成员的访问权限。

    26310

    只需七步!零基础入门Python变量与数据类型

    ' >>> 'm' in my_string # 是否存在 True # 索引从零开始 >>> my_string[3] >>> my_string[4:9] 字符串方法 >>> my_string.upper...列表的数据项不需要具有相同的类型。 列表以特定的顺序存储一系列项目。列表允许将信息集存储在一个地方,无论只有几个项还是数百万项。...根据列表中的元素的位置(称为索引)来访问它们,列表的一部分称为片。要切片列表,首先从您想要的第一个项目的索引开始,然后添加冒号和您想要的最后一个项目之后的索引。...去掉列表开始处的第一个索引,去掉列表结束处的最后一个索引。 第一个元素的索引是0,第二个元素的索引是1,以此类推。 负索引指的是列表末尾的项。...要获得特定的元素,请先写出列表的名称,然后在方括号中写出元素的索引。

    4.6K10

    【优选算法】Pointer-Slice:双指针的算法切片(上)

    双指针算法使用两个索引来遍历数据结构,可以根据问题的要求,以不同的方式移动,如同向移动、相向移动或快慢不同的速度移动 2.移动零 ✏️题目描述: ✏️示例: 传送门:移动零 题解: 第一步: 有两个索引...,所以唯一的要点就是找到那个开始复写的数 如图为示例 1找到最后一个复写的数,那么是如何找到的呢?...是快乐数 ,以 1 循环(以示例 1 为例) 不是快乐数,自循环(以示例 2 为例) 看到这里显然需要我们判断是否成环,在链表部分了解过,应该使用快慢指针 细节问题: 如果题目没有说明只有两种情况,那是不是可能会出现第三种情况...:线性死循环 答案是不会的,以下是一些简单的证明,不影响本题,作了解即可 我们假设 n 可取的最大值为 9 × 10⁹ ,那么经过快乐数操作的数为 810,接下来无论进行多少次操作都是在[1,810]...里的数,那么在经过大于 810 次操作后,根据鸽巢原理,必然会有重复,也就是成环,所以第三种情况不可能存在 代码实现: #include using namespace std;

    12610

    1.1 C++ STL 字符串构造函数

    需要注意的是,使用[]运算符访问字符串时不能保证索引的有效性,如果访问越界,程序会直接崩溃。 使用at()函数遍历字符串str中的所有字符,并输出每个字符。...定义新的字符串变量str7,并将其初始化为"hello lyshark",然后使用insert()函数在下标2处插入字符串"123",并使用insert()函数在下标3处插入4个字符A,并输出插入后的结果...使用find()函数在字符串str1中查找字符u第一次出现的位置,并将其赋值给变量x,如果查找到了,则使用substr()函数输出从字符u位置到字符串结尾处的子串。...使用find()函数在字符串str1中查找字符串"Source",并从下标3的位置开始查找,在找到的位置处使用substr()函数输出从该位置开始到字符串结尾处的子串。...读者需要注意,在使用substr()函数提取子串时,第一个参数表示子串的起始位置,第二个参数表示子串的长度。如果第二个参数不写,则默认提取从起始位置开始到字符串结尾处的字符。

    30230

    1.1 C++ STL 字符串构造函数

    需要注意的是,使用[]运算符访问字符串时不能保证索引的有效性,如果访问越界,程序会直接崩溃。使用at()函数遍历字符串str中的所有字符,并输出每个字符。...// 从第0个字符开始向后删除4个 string str7 = "hello lyshark"; str7.insert(2, "123"); // 在下标 2 处插入字符串"123" str7...使用find()函数在字符串str1中查找字符u第一次出现的位置,并将其赋值给变量x,如果查找到了,则使用substr()函数输出从字符u位置到字符串结尾处的子串。...使用find()函数在字符串str1中查找字符串"Source",并从下标3的位置开始查找,在找到的位置处使用substr()函数输出从该位置开始到字符串结尾处的子串。...读者需要注意,在使用substr()函数提取子串时,第一个参数表示子串的起始位置,第二个参数表示子串的长度。如果第二个参数不写,则默认提取从起始位置开始到字符串结尾处的字符。

    28820

    OpenCV3.3深度学习模块(DNN)应用-图像分类

    DNN模块介绍 在OpenCV3.3版本发布中把DNN模块从扩展模块移到了OpenCV正式发布模块中,当前DNN模块最早来自Tiny-dnn,可以加载预先训练好的Caffe模型数据,OpenCV做了近一步扩展支持所有主流的深度学习框架训练生成与导出模型数据加载...,根据prototxt中的开始的要求,我们需要输入迭代10次,输出预测分类的结果,代码实现如下: // 支持1000个图像分类检测 Mat prob; // 循环10+ for...: vectorString> readClasslabels() { std::vectorString> classNames; std::ifstream fp(labelFile...::endl; exit(-1); } std::string name; while (!...个分类标记文本数据 */ vectorString> readClasslabels() { std::vectorString> classNames; std::ifstream

    1.8K71

    Rust学习笔记之集合

    ("不存在第三个元素"), } 首先,我们使用「索引值」 2 来获取第三个元素,索引是从 0 开始的。...---- 新建字符串 很多 Vec 可用的操作在 String 中同样可用,从 new 函数创建字符串开始。...---- 字符串 slice 为了更明确索引并表明你需要一个字符串 slice,相比使用 [] 和单个值的索引,可以使用 [] 和一个 range 来创建含特定字节的字符串 slice: let hello...可以使用与 vector 类似的方式来遍历哈希 map 中的每一个键值对,也就是 for 循环: use std::collections::HashMap; let mut scores = HashMap...原始的值 10 则被覆盖了。 ---- 只在键没有对应值时插入 会检查某个特定的键是否有值,如果没有就插入一个值。

    75120

    C++ vector越界问题完全解决方案:从基础防护到现代C++新特性

    在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选。...0; i 循环:规避显式索引C++11引入的范围for循环(for (auto& elem : vec))和迭代器访问,通过抽象迭代过程避免直接操作索引...2.6 容器状态检查:empty()与size()的组合防御在访问元素前,通过empty()判断容器是否为空,通过size()验证索引范围,是防御越界的"双重保险":// 安全访问第n个元素(n从0开始...:在函数参数验证、循环条件判断等场景强制使用这两个接口。...std::string> vec;// C++17前:需通过vec.back()获取新元素(可能越界,若emplace_back失败)vec.emplace_back("hello");std::string

    15610

    深入理解C++11 std::iota:从原理到实践

    std::iota是C++11标准库中引入的一个实用算法,定义在头文件中。它的名字源于APL语言中的ι函数,用于生成连续递增的序列。...相较于手动编写循环赋值,std::iota提供了更简洁、更具可读性的方式来初始化容器,是STL中不可或缺的工具函数之一。...(), 0); // 0~9997.2 索引序列生成为容器元素创建索引:std::vectorstd::string> words = {"apple", "banana", "cherry"};std...总结std::iota作为一个小巧而强大的算法,在日常开发中有着广泛的应用。它不仅简化了连续序列的生成代码,还提高了代码的可读性和可维护性。...通过本文的讲解,我们了解了std::iota的原理、实现和应用,并探讨了其在不同场景下的使用技巧。掌握std::iota,能让我们在处理序列生成问题时更加得心应手,写出更优雅的C++代码。

    14200
    领券