147. Insertion Sort List
来源:互联网 发布:mac分答下载 编辑:程序博客网 时间:2024/04/27 00:43
题目:
Sort a linked list using insertion sort.
解题思路:
插入排序在链表中运用。可运用递归,比较巧妙。
递归版本:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* insertionSortList(ListNode* head) { if(head==NULL || head->next==NULL)return head; ListNode* head2 = insertionSortList(head->next); if(head->val<=head2->val) //the first case { head->next = head2; return head; } ListNode* node = head2; //the second case while(node->next && head->val>node->next->val)node = node->next; head->next = node->next; node->next = head; return head2; }};
插入排序经典版本:
void Insertsort(int a[], int n){ int i, j; for(j=1;j<n;j++) for(int i=j-1;i>=0&&a[i]>a[i+1];i--) swap(a[i],a[i+1]);}
0 0
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 147. Insertion Sort List
- 关于Java的静态块和和非静态块(构造块)的加载顺序
- ubuntu14.04 php开发环境搭建(LAMP)
- 2015年成长的一年
- POJ 2828 Buy Tickets(线段树单点更新)
- WebService简介
- 147. Insertion Sort List
- 我看中介者模式
- AR,VR和MR的概念区分
- 引用类型_排序容器_TreeSet与TreeMap
- 利用NDK崩溃日志查找BUG
- python网页爬虫练习
- 【安卓笔记】成长第一步,Activity在正常情况下与异常情况下的生命周期
- CAS实现SSO单点登录原理
- Android 5.0学习之ListView升级版RecyclerView