LeetCode147 Insertion Sort List
2015-12-07 22:31
295 查看
题目链接:
https://leetcode.com/problems/insertion-sort-list/题目描述:
对链表进行插入排序。分析:
以前实现的都是数组的插入排序。想 一下链表其实也差不多的嘛。都是相当于摸一张牌,就把它排好在当前应该放的位置上。代码:
class Solution { public: ListNode* insertionSortList(ListNode* head) { ListNode* pHead=(ListNode*)malloc(sizeof(ListNode)); pHead->next=head; ListNode* pre1=pHead; ListNode* cur=head; while(cur!=NULL){ ListNode* pre2=pHead; ListNode* ptr=pHead->next; bool flag=false; while(ptr!=cur){ if(cur->val<ptr->val){ flag=true; break; } pre2=ptr; ptr=ptr->next; } if(flag){ pre1->next=cur->next; pre2->next=cur; cur->next=ptr; cur=pre1->next; } else{ pre1=cur; cur=cur->next; } } return pHead->next; } };
相关文章推荐
- [C/C++]反转链表
- 插入排序
- C#实现基于链表的内存记事本实例
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++实现简单的学生管理系统
- php实现插入排序
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构及算法实例:插入排序 Insertion Sort
- Java数据结构之简单链表的定义与实现方法示例
- C语言单循环链表的表示与实现实例详解
- C++实现的链表类实例
- PHP小教程之实现链表
- javascript数据结构之双链表插入排序实例详解
- C语言双向链表的表示与实现实例详解
- js链表操作(实例讲解)
- C语言实现输出链表中倒数第k个节点