Insertion Sort List
2015-07-07 23:40
429 查看
链表的插入排序算法,其中大循环是,从原始链表中挨个读取每个元素。
取出的每个元素用插入排序建立新表即可
取出的每个元素用插入排序建立新表即可
/** * 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) { ListNode * temp=head; //用于最外层循环的控制。表述的是当前节点 ListNode * tail; ListNode * myhead=NULL; if(head==NULL) return NULL; while(temp!=NULL) { tail=temp->next; myhead=insertNode(myhead,temp); temp=tail; } return myhead; } ListNode * insertNode(ListNode * head,ListNode * temp) { temp->next=NULL; if(head==NULL) return temp; ListNode * t=head; ListNode * pre=NULL; while(t!=NULL) { if((temp->val)<(t->val)) { if(pre!=NULL) { pre->next=temp; } temp->next=t; break; } pre=t; t=t->next; if(pre->next==NULL) pre->next=temp; } if(pre==NULL) head=temp; return head; } };
相关文章推荐
- Android Service检查Wifi状态并用notification通知
- 在apapche中创建两个网站的配置
- CF Gym 100548K Last Denfence
- sqlite sql语句 备忘,数据统计
- 网卡ifcfg-eth0配置
- UIScrollView现实自动循环滚动
- RESTful API设计指南
- 过滤器的正确打开方式
- HDU 1272 小希的迷宫(并查集)
- mybatis入门基础(六)----高级映射(一对一,一对多,多对多)
- eclipse导入svn中现有的maven工程
- Servlet3.0的新规范
- 黑马程序员——JAVA笔记——集合框架2——Set
- servlet 注解
- 统计在线用户 踢人
- Handler机制概要
- 自定义View中的onMeasure,measureChild与measureChildren
- Poj 2065 SETI (高斯消元)
- WindowListener 窗体监听器
- 5-2