Chinaunix首页 | 论坛 | 博客
  • 博客访问: 360440
  • 博文数量: 60
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 1138
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 16:18
个人简介

最多140个字

文章分类

全部博文(60)

文章存档

2016年(1)

2015年(34)

2014年(25)

分类: C/C++

2015-07-29 16:26:59

Sort a linked list using insertion sort.
/>
  1. /**
  2.  * Definition for singly-linked list.
  3.  * struct ListNode {
  4.  * int val;
  5.  * ListNode *next;
  6.  * ListNode(int x) : val(x), next(NULL) {}
  7.  * };
  8.  */
  9. class Solution {
  10. public:
  11.     ListNode* insertionSortList(ListNode* head) {
  12.        // printf("%u\n",head);
  13.         vector<ListNode*> vec;
  14.         ListNode* p=head;
  15.         while(p!=NULL)
  16.         {
  17.             vec.push_back(p);
  18.             p=p->next;
  19.         }
  20.         for(int i=1;i<vec.size();i++)
  21.         {
  22.             int pCurr=vec[i]->val;
  23.             int j=i-1;
  24.             while( (j>=0)&&(pCurr< vec[j]->val) )
  25.             {
  26.                 vec[j+1]->val=vec[j]->val;
  27.                 j--;
  28.             }
  29.             vec[j+1]->val=pCurr;
  30.         }
  31.         return head;
  32.     }
  33. };


点击(此处)折叠或打开

  1. /**
  2.  * Definition for singly-linked list.
  3.  * struct ListNode {
  4.  * int val;
  5.  * ListNode *next;
  6.  * ListNode(int x) : val(x), next(NULL) {}
  7.  * };
  8.  */
  9. class Solution {
  10. public:
  11.     ListNode *insertionSortList(ListNode *head) {
  12.         
  13.         ListNode* phead=new ListNode(-1);
  14.         while(head!=NULL)
  15.         {
  16.             ListNode *nhead=head->next;
  17.             ListNode* pc=phead;
  18.             while( (pc->next!=NULL)&&(pc->next->val<head->val) )
  19.             {
  20.                 pc=pc->next;
  21.             }
  22.             ListNode *tmp=pc->next;
  23.             pc->next=head;
  24.             head->next=tmp;
  25.             head=nhead;
  26.         }
  27.         return phead->next;
  28.     }
  29. };


阅读(2584) | 评论(0) | 转发(0) |
0

上一篇:Search for a Range

下一篇:git blame

给主人留下些什么吧!~~