美文网首页算法与数据结构
实现两个有序的链表合并为一个有序链表

实现两个有序的链表合并为一个有序链表

作者: 凌霄文强 | 来源:发表于2019-02-28 20:02 被阅读0次

将两个有序的链表通过归并的形式合并为一个有序的链表

#include<iostream>
using namespace std;
class node{
public:
    int value;
    node* next;
    node(){}
    node(int value){
        this->value=value;
        this->next=NULL;
    }
    node(int value, node* next){
        this->value=value;
        this->next=next;
    }
};
int main(){
    node* list1=new node(1);
    list1->next=new node(3, new node(5));  // 1,3,5
    node* list2=new node(0, new node(4, new node(8)));  // 0,4,8
    node* result=new node();
    node *p3=result, *p1=list1, *p2=list2;
    for(; p1!=NULL && p2!=NULL; )
        if(p1->value<p2->value){
            p3->next=p1;
            p3=p3->next;
            p1=p1->next;
        }else{
            p3->next=p2;
            p3=p3->next;
            p2=p2->next;
        }
    for(; p1!=NULL; ){
            p3->next=p1;
            p3=p3->next;
            p1=p1->next;
    }
    for(; p2!=NULL; ){
            p3->next=p2;
            p3=p3->next;
            p2=p2->next;
    }
    result=result->next;
    while(result!=NULL){
        cout<<result->value<<"\t";
        result=result->next;
    }
    return 0;
}

作者原创,如需转载及其他问题请邮箱联系:lwqiang_chn@163.com
个人网站:https://www.myqiang.top

相关文章

  • 算法 - 链表实现(OC) 及简单的链表算法

    链表实现 打印链表 链表反转 (使用递归法) 两个有序链表合并为一个有序链表 力扣题[https://leetco...

  • leecode刷题(23)-- 合并两个有序链表

    leecode刷题(23)-- 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新...

  • ARTS-Week6 有序链表合并、DevOps、Json解析、

    Algorithm LeetCode原题链接: 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链...

  • leetcode的题目21

    合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示...

  • 刷leetCode算法题+解析(四)

    合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示...

  • 3、链表与树

    1、合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。...

  • Swift 合并两个有序链表 - LeetCode

    题目: 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组...

  • LeetCode 21. 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成...

  • Swift - LeetCode - 合并两个有序链表

    题目 合并两个有序链表 问题: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节...

  • LeetCode-21-合并两个有序链表

    LeetCode-21-合并两个有序链表 题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的...

网友评论

    本文标题:实现两个有序的链表合并为一个有序链表

    本文链接:https://www.haomeiwen.com/subject/mjokuqtx.html