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

  • 实例要求:
  • 两个升序链表合并为一个新的 升序 链表并返回;
  • 新链表是通过拼接给定的两个链表的所有节点组成的;
  • 实例分析:
  • 先拼接两个链表,在使用冒泡排序即可;
  • 示例代码:
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;
	
	    
	}
  • 运行结果:
相关推荐
纵有疾風起24 分钟前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
wuyk5551 小时前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机
LuminousCPP2 小时前
数据结构-时间与复杂度|时间/空间复杂度 + 两道力扣练习 + 二分查找复盘
c语言·数据结构·经验分享·算法·leetcode
Nil2082 小时前
leetcode 三数之和
数据结构·算法·leetcode
带鱼吃猫2 小时前
预处理器:宏、运算符与条件编译
c语言·开发语言
(Charon)3 小时前
【C++】线程安全队列(二):生产者消费者模型与 condition_variable 阻塞等待
c语言·开发语言·c++
青山木3 小时前
Hot 100 --- 最小栈
java·数据结构·算法·leetcode
疯狂打码的少年3 小时前
【数据结构】栈的应用:表达式求值(后缀表达式)
java·数据结构·笔记·算法
SunnyByte3 小时前
排序进阶:快速排序与归并排序的迭代实现,并与递归版本对比
c语言·数据结构·算法·排序算法
wabs6664 小时前
关于图论【最短路径之Bellman_ford 算法(判断负权回路)|卡码网95.城市间货物运输II的思考】
数据结构·算法·图论·bellman_ford算法·卡码网·判断负权回路