码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 北航计算机软件技术基础课程作业&笔记【5】


    题目

    (文章一周后公开~)

    sort

    1.快排算法

    • 核心思路:选取(一般是)当前数组第一个元素作为中间值mid,将数组按照比mid小/大分为两半,再对子数组进行同样操作(二叉树前序遍历)

    • 具体操作:主要是分2半那里,可以巧妙一些地来遍历,所以用到了left和right指针(重合时就遍历完了),同时自己写的时候用了一下right_flag表示是否要看右边与mid做比较(网上有更好的,我只是自己这样写了而已)

    • 左右指针的使用规则:假设以先将right与mid值对比开始,发生了交换后,就改变判断的指针(比如right小于mid,那么交换right与left,后面就开始判断left与mid的大小关系了),否则,一直移动被判断的指针(比如right一直大于mid,那一直right--)

    • 代码:

      1. #include
      2. #include
      3. #include
      4. std::vector origin{78,31,46,22,81,12,55,64,8,17};
      5. void quick_sort(int left, int right)
      6. {
      7. if(left >= right)
      8. return;
      9. // 直接记录下来,懒得把数组分小了
      10. int start = left,end = right;
      11. // 确定好中间位置的值
      12. int mid = origin.at(left);
      13. std::cout << mid <
      14. // 先从右边开始看
      15. int right_flag = 1;
      16. // 结束时因为left=right,这就是mid元素应该放的地方
      17. while(left < right)
      18. {
      19. if(right_flag)
      20. {
      21. if(origin.at(right) < mid)
      22. {
      23. // 右边比左大,那就右边往左边放
      24. std::swap(origin[left],origin[right]);
      25. left++;
      26. std::copy(std::begin(origin), std::end(origin), std::ost
  • 相关阅读:
    聊聊电商系统架构演进
    若依前端部署后地址栏刷新后 出现 拦截提示
    ORB-SLAM2 ---- Initializer::ReconstructH函数
    ollama 开源大语言模型平台
    【Java EE初阶二十六】简单的表白墙(二)
    家政小程序开发,引领家庭服务新时代的科技革命
    Go 语言基础
    pandas读取csv数据、使用set_index函数把多个数据列转化为多层行索引(keys参数指定需要被转化的多个数据列列表、形成多层行索引)
    关于#php#的问题:在安装完wampserver后点击wampserver后弹出这个窗口
    【HCIE】13.VXLAN EVPN
  • 原文地址:https://blog.csdn.net/qq_50534112/article/details/138168888
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号