首页 > 其他分享 >链表排序

链表排序

时间:2023-05-15 21:12:57浏览次数:41  
标签:head NULL ListNode head2 head1 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 {
//public:
// ListNode* sortList(ListNode* head) {
// if (head == NULL || head->next == NULL) return head;
//
// ListNode* head1 = head;
// ListNode* head2 = split(head);
//
// head1 = sortList(head1);
// head2 = sortList(head2);
//
// return merge(head1, head2);
// }
// ListNode* split(ListNode* head) // 找链表的中间值;
// {
// ListNode* slow = head, * fast = head->next;
// while (fast != NULL && fast->next != NULL)
// {
// slow = slow->next;
// fast = fast->next->next;
// }
// ListNode* mid = slow->next;
// slow->next = NULL;
// return mid;
// }
// ListNode* merge(ListNode* head1, ListNode* head2)//合并两个链表
// {
// ListNode* dummy = new ListNode(0), * p = dummy;
// while (head1 != NULL && head2 != NULL) {
// if (head1->val < head2->val) {
// p = p->next = head1;
// head1 = head1->next;
// }
// else
// {
// p = p->next = head2;
// head2 = head2->next;
// }
// }
// if (head1 == NULL) p->next = head2;
// if (head2 == NULL) p->next = head1;
//
// return dummy->next;
// }
//};

 

标签:head,NULL,ListNode,head2,head1,next,链表,排序
From: https://www.cnblogs.com/hbro/p/17403139.html

相关文章

  • Redis数据结构二之SDS和双向链表
    本文首发于公众号:Hunter后端原文链接:Redis数据结构二之SDS和双向链表这一篇笔记介绍一下SDS(simpledynamicstring)和双向链表。以下是本篇笔记目录:SDS常数复杂度获取字符串长度杜绝缓冲区溢出减少修改字符串带来的内存重分配次数二进制安全兼容C字符串函数双向链......
  • 数组排序输出
    一.问题描述:对于输入的每一批数,按从小到大排序后输出。一行输入为一批数,第一个输入为数据类型(1表示整数,2表示字符型数,3表示有一位小数的浮点数,4表示字符串,0表示输入结束),第二个输入为该批数的数量size(0<size<=10),接下来为size个指定类型的数据。输出将从小到大顺序输出数据。#i......
  • 【排序最少操作数,最长子序列】MT笔试
    题目:给一个n个数的排列,n的数的范围为1~n且各不相同,比如[3,1,2]为一个3个数的排列。现在要求对这个无序的n个数的排列,排成一个递增序列,但只能进行一种操作:从n个数中任选两个数,大的放最后一位,小的放第一位,问最少进行多少次这种操作,n个数的排列最终变成一个递增序列。例如[1,5,4,2,3......
  • 16、MapReduce的基本用法示例-自定义序列化、排序、分区、分组和topN
    文章目录Hadoop系列文章目录一、pom.xml与测试数据说明、日志配置1、pom.xml2、数据字段说明3、日志配置二、序列化1、需求2、实现说明3、实现1)、bean2)、Mapper3)、Reducer4)、Driver4、验证三、排序1、需求2、实现说明3、实现1)、bean2)、Mapper3)、Reducer4)、Driver4、验证四、分区1......
  • 利用无限潜在特征选择ILFS算法对分类特征变量做特征重要性排序,实现特征选择。
    利用无限潜在特征选择ILFS算法对分类特征变量做特征重要性排序,实现特征选择。通过重要性排序图,选择重要的特征变量,以期实现数据降维的目的。程序直接替换数据就可以用,程序内有注释,方便学习和使用。程序语言为matlab。ID:3530682564934266......
  • 使用随机森林RF做分类建模,有训练集和预测集分类准确率图,还有特征重要性排序图,代码内有
    使用随机森林RF做分类建模,有训练集和预测集分类准确率图,还有特征重要性排序图,代码内有注释,可学习性强,直接替换数据就可以用。ID:5340672344997463......
  • MATLAB程序采用非支配排序遗传算法(NSGA2)求解分布式电源选址定容问题,可作为一个有用的
    MATLAB程序采用非支配排序遗传算法(NSGA2)求解分布式电源选址定容问题,可作为一个有用的参考,程序注释明确,算法原理可以自己搜。YID:4120651507678049......
  • 剑指 Offer 18. 删除链表的节点
    题目描述:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。     复杂度分析:  时间复杂度O(N):N为链表长度,删除操作平均需循环N/2次,最差N次。  空间复杂度O(1):cur,pre占用常数大小额外空间。class......
  • 冒泡排序
    1.问题描述对N个整数进行升序排列2.问题分析冒泡法应该是最基础最简单的了。共有N个数,我们可以利用数组进行储存。冒泡排序的思想就是从表头开始往后扫面数组,过程中比较相邻两个元素的大小,若前面元素大于后面的元素,则将他们互换,称之为消去了一个逆序。在扫描过程中,不断地将两相......
  • 5-14打卡 力扣24. 两两交换链表中的节点
    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]来源:力扣(LeetCode)链接:https://leetco......