C++编程学习之LeetCode OJ

来源:互联网 发布:周易算法测男女 编辑:程序博客网 时间:2024/06/05 21:58
Insertion Sort List :
Sort a linked list using insertion sort.
#include<iostream>#define LENGTH 7using namespace std;struct ListNode {      int val;      ListNode *next;     // ListNode(int x) : val(x), next(NULL) {}  };class Solution {public:    ListNode *insertionSortList(ListNode *head) {ListNode *pre=NULL,*curr=NULL,*f_pre=NULL,*f_curr=NULL;if(head==NULL||head->next==NULL)return(head);f_curr=head;curr=head->next;while(curr!=NULL) { pre=head->next; f_pre=head; while(pre->val<=curr->val&&pre!=curr) { f_pre=pre; pre=pre->next; } if(pre!=curr){f_curr->next=curr->next;f_pre->next=curr;curr->next=pre;curr=f_pre;}f_curr=curr;curr=curr->next; }return(head);}};void main(){Solution s;ListNode *head=new ListNode,*p=NULL,*curr=NULL;p=head;for(int i=1;i<=LENGTH;i++){curr=new ListNode;cin>>curr->val;p->next=curr;p=curr;}p->next=NULL;p=s.insertionSortList(head)->next;while(p!=NULL){cout<<p->val<<"\n";p=p->next;}}

0 0
原创粉丝点击