C++ 简单 vector 实现练习

    接口规范:
  1. insert( int index, int value ) : 方法插入的位置为index,该位置原来的元素以及之后的元素后移一位。
  2. put( int index, int value ) : 在index位置赋值为value。
  3. remove( int index ) : 移除index位置的元素,之后的元素前移。
  4. disordered() : 是否有序,返回紧邻逆序对数目。
  5. find( int value ) : 查找value,存在则返回index,否则返回-1。
  6. sort() : 升序排序。
  7. search( int value ) : 查找有序向量中不超过value的最大、最后的元素并返回其index。
  8. uniquify() : 剔除重复元素。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该复习文档是本人根据和 CSDN 博客上的众多文章总结而成。感谢各位大佬 博客上的众多文章总结而成。感谢各位大佬 的总结,使我在复习课本同时补充了很多其他方面关键知识如 的总结,使我在复习课本同时补充了很多其他方面关键知识如 的总结,使我在复习课本同时补充了很多其他方面关键知识如 C++ 内存管理, 内存管理, STL 库 等内容。本文章适合 等内容。本文章适合 等内容。本文章适合 等内容。本文章适合 C++ C++初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了初学者的快速复习和应届生笔试面准备,书中 给出了常见的 C++ 拔高的部分知识。对 于初学者来说,也可以加强C++ 的认识。 的认识。 文档主要分为 C++ 数据结构具体 数据结构具体 实现代码, C++ 的 STL 库, C++ 与数据库, 与数据库, C++ 内存管 理, C++ 智能指针和基于 智能指针和基于 C++ 的网络爬虫 的网络爬虫 (暂定) 。这一些知识般在课上被老师直接跳过, 。这一些知识般在课上被老师直接跳过, 笔者在看了众多大佬的面经中,感觉这几个部 分是被问最因此挑出笔者在看了众多大佬的面经中,感觉这几个部 分是被问最因此挑出笔者在看了众多大佬的面经中,感觉这几个部 分是被问最因此挑出分进行总结。 最后部分对谢希仁的《计算机网络》进行了回顾,重点是链路层运输和 应用层部分的 DNS 。
C++中,结构体排序练习通常涉及到如何使用标准库中的算法对包含自定义数据类型的结构体数组或容器进行排序。这里我们可以举一个简单的例子,假设有一个名为`Student`的结构体,包含`name`和`age`两个成员: ```cpp struct Student { std::string name; int age; }; ``` 你可以用以下几种方法对`Student`结构体数组进行排序: 1. **直接排序:**如果年龄是排序的主要依据,你可以定义一个比较函数(`compare`),然后使用`std::sort`函数: ```cpp bool compareStudents(const Student& s1, const Student& s2) { return s1.age < s2.age; } int main() { Student students[] = {{"Alice", 20}, {"Bob", 18}, {"Charlie", 22}}; std::sort(students, students + sizeof(students) / sizeof(students), compareStudents); // 现在students数组按年龄升序排列 } ``` 2. **使用STL算法:**如果你的结构体已经实现了`<`运算符,那么可以直接使用`std::stable_sort`: ```cpp bool studentLess(const Student& s1, const Student& s2) { return s1.age < s2.age; } int main() { std::vector<Student> students = {{"Alice", 20}, {"Bob", 18}, {"Charlie", 22}}; std::stable_sort(students.begin(), students.end(), studentLess); } ``` 3. **自定义比较器(C++11及以上):**也可以使用lambda表达式来创建一个可传递的比较器: ```cpp int main() { std::vector<Student> students = {{"Alice", 20}, {"Bob", 18}, {"Charlie", 22}}; std::sort(students.begin(), students.end(), [](const Student& s1, const Student& s2) { return s1.age < s2.age; }); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值