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

  • 实例要求:
  • 两个升序链表合并为一个新的 升序 链表并返回;
  • 新链表是通过拼接给定的两个链表的所有节点组成的;
  • 实例分析:
  • 先拼接两个链表,在使用冒泡排序即可;
  • 示例代码:
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;
	
	    
	}
  • 运行结果:
相关推荐
计算机安禾几秒前
【c++面向对象编程】第1篇:从C到C++:面向对象编程思想入门
c语言·c++·算法
知识分享小能手16 分钟前
R语言入门学习教程,从入门到精通,R语言数据结构(4)
数据结构·学习·r语言
yugi98783817 分钟前
经典三维表面重建算法(C语言实现)
c语言·开发语言·算法
程序猿编码19 分钟前
Linux 高负载场景下 Web 服务访问日志极速定位工具实现解析(C/C++代码实现)
linux·服务器·c语言·前端·c++
无限进步_20 分钟前
【C++】智能指针族谱:auto_ptr、unique_ptr、shared_ptr
java·开发语言·数据结构·c++·算法
LuminousCPP21 分钟前
C 语言文件操作全攻略:从基础读写到随机访问与缓冲区原理
c语言·经验分享·笔记·文件操作
洛水水23 分钟前
B树与B+树详解
数据结构·b树
傻瓜搬砖人25 分钟前
c语言绿皮书第三版第十章习题
c语言·开发语言·算法
qingy_204628 分钟前
Redis Zset 底层数据结构及其使用场景
数据结构·数据库·redis
Lazionr29 分钟前
数据结构堆详解:原理、实现与应用
数据结构·算法