当前位置: 首页 > news >正文

网站设计提案明确好企业的价值主张

网站设计提案,明确好企业的价值主张,织梦模板网站好优化吗,广东品牌设计公司归并排序 https://articles.zsxq.com/id_g23e5o3lg87e.html 目录 归并排序算法思想命名由来算法描述sortList函数mergeSort函数 源代码 算法思想 通过将当前乱序的数组分成两个部分#xff0c;分别进行「递归调用」#xff0c;利用两个指针将数据元素以此比较#xff0c;选…归并排序 https://articles.zsxq.com/id_g23e5o3lg87e.html 目录 归并排序算法思想命名由来算法描述sortList函数mergeSort函数 源代码 算法思想 通过将当前乱序的数组分成两个部分分别进行「递归调用」利用两个指针将数据元素以此比较选择相对较小的元素放进「辅助数组」中再将辅助数组的数据放回「原数组」 命名由来 归并递归合并 算法描述 问题描述 leetcode第148题 给你链表的头结点 head请将其按 升序 排列并返回排序后的链表。 sortList函数 先看sortList此函数的目的是对链表进行归并排序。 ListNode* sortList(ListNode* head) {if (head nullptr) // 1return nullptr;else if (head-next nullptr) // 2return head;ListNode *slow head, *fast head; // 3ListNode *pre nullptr; while (fast ! nullptr){pre slow;slow slow-next;fast fast-next;if (fast)fast fast-next;}ListNode *tmp pre-next;pre-next nullptr; //4return mergeSort(head, tmp); //5}(1) 当链表没有元素的时候不需要排序直接返回null (2) 当链表只有一个元素的时候也不需要排序返回本身即可 (3) 我们用快慢指针来找到链表的中间节点并将链表分为两部分分别是左半部分和右半部分 (4) 此时我们就完成了对一个链表的切割左边是以head为头结点的链表右边则是以tmp指针为头结点的链表 (5) 调用 mergeSort 函数进行合并排序。 mergeSort函数 ListNode* mergeSort(ListNode* a, ListNode* b){a sortList(a);b sortList(b); // 1ListNode* head new ListNode(0); ListNode* tmp head; // 2head-next nullptr;while (a || b) // 3{if (a nullptr){tmp-next b;break;}else if (b nullptr){tmp-next a;break;}else if (a-val b-val){tmp-next a;a a-next;}else if (a-val b-val){tmp-next b;b b-next;}tmp tmp-next;tmp-next nullptr;}return head-next; // 4}(1) a 和 b 分别表示左边部分和右边部分将 a 和 b 分别传入 sortList 函数中进行排序递归调用 (2) 创建一个新的头节点 head以及一个临时节点 tmp 用于构建合并后的链表 (3) 通过比较 a 和 b 的值逐个选择较小的节点接入到新链表中直至其中一个链表为空。 (4) 最后返回合并后链表的头节点即 head-next并注意释放之前创建的虚拟头节点。 源代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/ class Solution {ListNode* mergeSort(ListNode* a, ListNode* b){a sortList(a);b sortList(b);ListNode* head new ListNode(0);ListNode* tmp head;head-next nullptr;while (a || b){if (a nullptr){tmp-next b;break;}else if (b nullptr){tmp-next a;break;}else if (a-val b-val){tmp-next a;a a-next;}else if (a-val b-val){tmp-next b;b b-next;}tmp tmp-next;tmp-next nullptr;}return head-next;} public:ListNode* sortList(ListNode* head) {if (head nullptr) //return nullptr;else if (head-next nullptr) // return head;ListNode *slow head, *fast head, *pre nullptr;while (fast ! nullptr){pre slow;slow slow-next;fast fast-next;if (fast)fast fast-next;}ListNode *tmp pre-next;pre-next nullptr;return mergeSort(head, tmp);} };
http://www.w-s-a.com/news/920979/

相关文章:

  • 网站建设所需人力南城区网站建设公司
  • 网站做图尺寸大小手机模板网站模板下载网站有哪些内容
  • 德阳市建设管理一体化平台网站做美食网站
  • 怎么做自己的推广网站2024年瘟疫大爆发
  • vps正常网站打不开linux网站建设
  • 福州网站快速排名在一个网站的各虚拟目录中默认文档的文件名要相同
  • 网站开发 流程图网站开发用哪个linux
  • 怎么用自己电脑做服务器发布网站吗seo门户网价格是多少钱
  • 备案网站可以做影视站网站400
  • 四川住房与城乡建设部网站注册登记
  • 网站建设第三方沈阳工程最新动态
  • 兰州做网站客户上海企业在线登记
  • 新乡公司做网站wordpress被大量注册
  • 小语种服务网站公众号平台建设网站
  • 免费做mc皮肤网站企业网站建设合同模板
  • 做网站可以申请个体户么网站的定位分析
  • jsp做的零食网站下载wordpress侧边栏折叠
  • 帝国网站单页做301南京旅游网站建设公司
  • 网站sem优化怎么做网站建设推广安徽
  • 比较好的室内设计网站潍坊网络科技
  • 南宁网站建设公设计联盟网站
  • 多个图表统计的网站怎么做百度推广费2800元每年都有吗
  • 连江县住房和城乡建设局网站企业类网站模版
  • 临沂seo整站优化厂家网站建设 大公司排名
  • 网站开发有哪些方式百度导航怎么下载
  • 网站认证免费视频直播网站建设方案
  • 瀑布流分享网站源代码下载网站构建的一般流程是什么
  • wordpress 4.9 多站wordpress邮箱解析
  • 微信网站开发企业汽车网站设计模板
  • 如何提升网站转化率遵义市公共资源交易平台