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

  • 实例要求:
  • 将两个升序链表合并为一个新的 升序 链表并返回;
  • 新链表是通过拼接给定的两个链表的所有节点组成的;
  • 实例分析:
  • 先拼接两个链表,在使用冒泡排序即可;
  • 示例代码:
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;
	
	    
	}
  • 运行结果:
相关推荐
写后端的胖头鱼16 分钟前
一文详解B+树原理(附场景+示例)
数据结构·b树
yyy(十一月限定版)2 小时前
224redfg
c语言
All for pursuit.3 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
小师兄吃牛肉4 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
lhbweilai5 小时前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
xxwl5856 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
小灰灰搞电子7 小时前
C语言 <time.h> 头文件详解
c语言·time.h
C++ 老炮儿的技术栈8 小时前
sizeof操作符
c语言·c++·人工智能·mfc·c
wuminyu8 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
她说彩礼65万9 小时前
C语言 堆区和栈区
java·linux·c语言