合并两个有序链表(冒泡排序实现)

  • 实例要求:
  • 两个升序链表合并为一个新的 升序 链表并返回;
  • 新链表是通过拼接给定的两个链表的所有节点组成的;
  • 实例分析:
  • 先拼接两个链表,在使用冒泡排序即可;
  • 示例代码:
c 复制代码
	struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
	{
	    if(NULL == list1 )
	    {
	        return list2;
	    }
	    if(NULL == list2)
	    {
	        return list1;
	    }
	
	    struct ListNode *p = list1;
	
	    while(p->next != NULL)
	    {
	        p = p->next;
	    }
	
	    p->next = list2;
	
	    struct ListNode *q = NULL;
	    int temp = 0;
	    p = list1;
	    while(NULL != p->next)
	    {
	        q = p->next;
	        while(NULL != q)
	        {
	            if(p->val > q->val)
	            {
	                temp = p->val;
	                p->val = q->val;
	                q->val = temp;
	            }
	            q = q->next;
	        }
	        p = p->next;
	
	
	    }
	
	
	    return list1;
	
	    
	}
  • 运行结果:
相关推荐
顾鉴行思1 小时前
10 字符串常量到底存在哪里?
c语言·汇编·经验分享
爱写代码的倒霉蛋1 小时前
2022年天梯赛L1-8真题解析(哈希+排序)
数据结构·算法
代码中介商1 小时前
顺序表完全指南:从原理到实现
数据结构·顺序表
澈2071 小时前
C++ list容器完全指南
数据结构·c++·链表
Aurorar0rua2 小时前
CS50 x 2024 Notes C - 09
c语言·开发语言·学习方法
承渊政道3 小时前
【动态规划算法】(完全背包问题从状态定义到空间优化)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
爱写代码的倒霉蛋3 小时前
2023年天梯赛L1-8
数据结构·算法
相醉为友3 小时前
040 Linux/裸机/RTOS 项目开发的跨平台兼容性——C语言静态接口抽象底层原理分析
linux·c语言·mcu
上弦月-编程4 小时前
C语言指针超详细教程——从入门到精通(面向初学者)
java·数据结构·算法
莫等闲-4 小时前
代码随想录一刷记录Day44——leetcode1143.最长公共子序列 53. 最大子序和
数据结构·c++·算法·leetcode·动态规划