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

临安做网站邢台专业做移动网站

临安做网站,邢台专业做移动网站,培训学校网站建设要点,建设社区网站有什么借鉴之处给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 归并排序算法核心步骤 归并排序核心步骤如下: 把长度为n的要排序的序列,分成两个长度为n/2的子序列;对这两个子序列,分别采用归并排序&#xff1b…

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。

归并排序算法核心步骤

归并排序核心步骤如下:

  • 把长度为n的要排序的序列,分成两个长度为n/2的子序列;
  • 对这两个子序列,分别采用归并排序;
  • 将两个排序好的子序列,合并成一个最终有序的排序序列。

对于链表来说,不同于一般的数据序列,它找到中间节点之后,需要切断一下。因此用归并排序算法,去排链表的操作大概是这样:

  • 遍历链表,找到中间节点。
  • 找到中间节点后,切断
  • 分别再用归并排序,排左右子链表
  • 合并子链表

 C++核心代码

class Solution {
public:ListNode* sortList(ListNode* head) {if (!head || !head->next) return head;// 获取链表的中间节点ListNode* middle = getMiddle(head);//归并排序:分成两部分//前半部分链表以 head 为起点,到 middle 为终点,后半部分链表以 nextOfMiddle 为起点。ListNode* nextOfMiddle = middle->next;middle->next = nullptr;// 递归排序链表的左右两部分ListNode* left = sortList(head);ListNode* right = sortList(nextOfMiddle);// 合并排序后的链表return merge(left, right);}private:// 合并两个已排序的链表ListNode* merge(ListNode* l1, ListNode* l2) {ListNode dummy(0);ListNode* tail = &dummy;while (l1 && l2) {if (l1->val < l2->val) {tail->next = l1;l1 = l1->next;} else {tail->next = l2;l2 = l2->next;}tail = tail->next;}tail->next = l1 ? l1 : l2;return dummy.next;}// 获取链表的中间节点ListNode* getMiddle(ListNode* head) {if (!head) return head;ListNode* slow = head;ListNode* fast = head->next;while (fast && fast->next) {slow = slow->next;fast = fast->next->next;}return slow;}
};

http://www.yayakq.cn/news/67243/

相关文章:

  • 哈尔滨市延寿建设局网站网络推广的重要性与好处
  • 商务型网站有哪些潮州建设网站
  • 如何选择网站开发公司杭州网站建设中心
  • 义乌网站制作优企网络
  • 阿里图标库谁做的网站wordpress 添加文章归档
  • 400靓号手机网站建设有文化内涵又高雅的公司名字
  • 欧美模板网站旧房翻新装修多少钱一平方
  • 网站开发的步骤实训内容高清做爰片免费观看网站
  • pc网站建设是什么意思白云区建材网站建设推广
  • 关东建设有限公司网站wordpress网站如何清理js
  • 在线音乐播放网站模板中国风 wordpress主题
  • 广州市官网网站建设哪家好福州做网站的个体户电话查询
  • 北京模板开发建站杭州餐饮vi设计
  • 网站建设分为哪些wordpress後台建站
  • 网站建站解决方案广州地铁18号线最新线路图
  • 电脑用虚拟机做网站移动app开发定制
  • 网站创作电子商务网站建设与实例
  • 聊城建设网站做网站的时候想要满屏
  • 专业新站整站快速排名公司罗湖高端网站建设费用
  • 全屏响应式网站开网店怎么找货源啊
  • 网站内容怎么写手机网站开发是什么
  • 新手去哪个网站做翻译类阿里巴巴网站 建设费用
  • 广企网站建设哪些软件可以做网站
  • 个人网站开发多少钱php免费网站模板
  • 北京大学廉政建设研究中心网站wordpress上传附件失败
  • h5 做移动端网站长沙制作公园仿竹围栏报价
  • 做服装商城网站怎么在印度做网站
  • python和php哪个做网站高级设计网站
  • 网站代建设费用茶叶市场网站建设方案
  • 网站教程制作响应式网站布局实例