博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Insertion Sort List
阅读量:2826 次
发布时间:2019-05-14

本文共 988 字,大约阅读时间需要 3 分钟。

题目很简单 就是把链表拆分成已经排好序的 ,没有排序的 ,从没有排序的中不断的取元素插入到排好序的链表中

class Solution {public:    ListNode* insertionSortList(ListNode* head) {        if(!head||!head->next)            return head;        ListNode *sorted=head;        ListNode *unsorted=head->next;        ListNode *temp;        head->next=NULL;        while(unsorted)        {            temp=unsorted;            unsorted=unsorted->next;            temp->next=NULL;            sorted=insertList(sorted,temp);        }        return sorted;    }    ListNode* insertList(ListNode *sorted,ListNode *temp)    {        if(temp->val<=sorted->val) {            temp->next = sorted;            return temp;        }        else        {            ListNode* scan=sorted->next;            ListNode* pre=sorted;            while(scan!=NULL&&temp->val>=scan->val)            {                pre=scan;                scan=scan->next;            }            temp->next=pre->next;            pre->next=temp;            return sorted;        }    }};

转载地址:http://whked.baihongyu.com/

你可能感兴趣的文章
win7系统重启后ip丢失问题问题的解决方法
查看>>
Win7系统用键盘替代鼠标的小技巧
查看>>
Myeclipse 10配置反编译器net.sf.jadclipse_3.3.0.jar+jad.exe
查看>>
【设计模式三之简单工厂模式】设计模式中简单工厂模式的应用----java
查看>>
关于Linux进程进程浅析(上)
查看>>
【设计模式四之工厂方法模式】java工厂方法模式
查看>>
Linux进程浅析(上)
查看>>
Linux进程浅析(中)
查看>>
exec函数和system函数
查看>>
linux下进程的信号量
查看>>
java线程浅析[初识线程]
查看>>
java线程浅析[多线程同步]
查看>>
Linux线程浅析[线程的同步和互斥之线程信号量]
查看>>
Linux进程IPC浅析[进程间通信SystemV消息队列]
查看>>
Linux进程IPC浅析[进程间通信SystemV共享内存]
查看>>
Linux系统之网络编程[基础概要]
查看>>
Linux网络编程之[Socket通信的常用函数简介]
查看>>
Android studio使用之[gradle的使用]
查看>>
Linux网络编程[UDP客户端服务器的编程模型]
查看>>
Linux网络编程[DNS解析原理,了解相关DNS解析的函数]
查看>>