【C语言】两个有序单链表的合并
2015-11-26 19:55
411 查看
Node *MergeList(PLinkList p1,PLinkList p2) { PLinkList newhead = NULL; //新链表的头结点 PLinkList end = newhead ; //新链表的当前结点 if(!p1 ) { return p2 ; } if(!p2 ) { return p1 ; } if(p1 ->data<p2->data) { newhead= p1; p1=p1 ->next; } else { newhead= p1; p1=p1 ->next; } end=newhead; while(p1 &&p2) { if(p1 ->data>p2->data) { end->next= p2; end= p2; p2=p2 ->next; } else { end->next= p1; end= p1; p1=p1 ->next; } } if(!p1 ) { end->next= p2; } if(!p2 ) { end->next= p1; } return newhead; }
相关文章推荐
- C++学习之模板:模板重载
- const的用法
- 快速排序
- C++矩阵库 Eigen 快速入门
- c++ ip地址的操作 c版
- C++11学习笔记(二)
- C++知识点梳理(1)
- C++ template学习记录(函数模板)
- C++项目调用C#dll项目
- VB与C++之间数据类型的对应关系
- 图像特征LBP原理及C++实现
- Android ndk 入门4 - C++实现
- C++ class static
- 取读浮点数
- 一个诡异的bug
- C++primer_泛型算法-插入迭代器和iostream迭代器
- C++ this pointer
- C++ Primer 学习笔记——函数(三)
- C++获取目录下所有图像文件的文件名
- c++-----强制类型转换