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

童装网站建设日程表广州软文推广公司

童装网站建设日程表,广州软文推广公司,网络维修电话,女生做网站编辑好还是少年的书桌上没有虚度的光阴 题目描述 请你对链表进行排序 思路分析 核心思想:归并排序 有三个部分 链表排序实现 1. merge 函数 21.见 合并两个有序链表, 首先创建一个虚拟头节点 newhead,并使用指针 tail 来构建合并后的链表。 通过…

少年的书桌上没有虚度的光阴

题目描述

请你对链表进行排序

思路分析

  • 核心思想:归并排序

有三个部分

链表排序实现

1. merge 函数

21.见 合并两个有序链表,

  • 首先创建一个虚拟头节点 newhead,并使用指针 tail 来构建合并后的链表。

  • 通过循环比较 list1list2 节点的值,将较小值的节点连接到 tail 后面,并相应地移动指针。

  • 当其中一个链表遍历完后,将另一个链表的剩余部分直接连接到 tail 后面。

  • 最后返回虚拟头节点的下一个节点,即合并后链表的头节点。

2. findMiddle 函数

该函数用于寻找链表的中间节点,采用快慢指针的方法:

  • fast 指针每次移动两步,slow 指针每次移动一步。

  • fast 指针到达链表末尾时,slow 指针就指向链表的中间节点。

3. sortList 函数

这是核心的排序函数,使用归并排序算法对链表进行排序:

  • 首先判断链表是否为空或只有一个节点,如果是则直接返回该链表。

  • 调用 findMiddle 函数找到链表的中间节点,将链表分成左右两部分。

  • 递归地对左右两部分链表分别调用 sortList 函数进行排序。

  • 最后调用 merge 函数将两个有序的子链表合并成一个有序链表。

完整代码

class Solution {
public:// 合并两个有序链表ListNode* merge(ListNode* list1, ListNode* list2) {auto  newhead = new ListNode(0); // 使用明确的类型名称auto  tail = newhead;while (list1 && list2) {if (list1->val < list2->val) {tail->next = list1;list1 = list1->next;} else {tail->next = list2;list2 = list2->next;}tail = tail->next;}tail->next = list1 ? list1 : list2; // 处理剩余部分return newhead->next;}// 寻找中间节点ListNode* findMiddle(ListNode* head) {ListNode* fast = head;ListNode* slow = head;while (fast->next && fast->next->next) {fast = fast->next->next;slow = slow->next;}return slow;}// 归并排序链表ListNode* sortList(ListNode* head) {if (head==NULL ||head->next==NULL) return head; // 检查链表长度// 找到链表的中间节点ListNode* mid = findMiddle(head);ListNode* right = mid->next;mid->next = nullptr; // 切分链表// 递归地对左右两部分进行排序ListNode* l = sortList(head);ListNode* r = sortList(right);// 合并两个有序链表return merge(l, r);}
}
};

复杂度分析

  • 时间复杂度: O(nlogn)

  • 空间复杂度: O(logn)

http://www.dtcms.com/wzjs/15503.html

相关文章:

  • jsp网站入门什么是营销型网站?
  • 领地网建的网站怎么做网络销售
  • 网站公安备案增加开办主体seo关键词优化外包公司
  • 美丽乡村 村级网站建设企业软文营销
  • 网站做服装那个平台好一点推广优化排名
  • 购物网站的建设毕业论文关键词排名查询
  • 公司的网站做备案我是网站负责人如果离职以后要不要负法律责任网络营销策划的目的
  • 重庆网站建设公司多少钱女生做sem专员的工作难吗
  • h网站开发百度关键词排名突然下降很多
  • 做演示的网站指数基金有哪些
  • 网站上做地图手机上显示深圳全网营销型网站
  • 合江网站建设网络市场调研的五个步骤
  • 西安建设和住房保障局网站济南seo排名优化推广
  • 山东网站建设工作室软文代写平台
  • java和php哪个更有发展前景seo快速排名软件价格
  • 中国工程网亿美关键词优化公司哪家强
  • 专业代做简历网站百度地图推广
  • 网站后台下载百度推广官方网站
  • 做中英文网站seo优化内页排名
  • 蔡甸建设局网站百度数据分析
  • 小公司如何做网站百度高级搜索入口
  • 做清洁找什么网站网络营销的公司有哪些
  • 专业做网站公司哪家好百度推广电话号码
  • 男人需要网站免费产品推广网站
  • 单页企业官网模板西安市seo排名按天优化
  • 福州建设厅官方网站人民日报今日头条新闻
  • 广州在线图文网络科技中心网站建设劳动局免费培训项目
  • 做调查问卷能挣钱的网站建网站专业
  • wap端是指手机端吗seo排名优化工具推荐
  • 天津开发区网站设计公司网销怎么销售的