两个有序链表合并成一个新的链表,合成的链表一样有序排列
来源:互联网 发布:3d网络渲染花钱 编辑:程序博客网 时间:2024/05/16 11:06
#include<stdio.h>#include<malloc.h>#include<assert.h>typedef struct node{int data;struct node * next;}node;node * merge_insert( node * head1 , node * head2){node * head, *curhead, *tmphead, *prehead;assert(head1!=NULL && head2!=NULL);curhead=head1->data>=head2->data?head2:head1;tmphead=head1->data>=head2->data?head1:head2;head=curhead;prehead=curhead;curhead=curhead->next;while(curhead){while(tmphead){if(curhead->data >= tmphead->data){prehead->next=tmphead;tmphead=tmphead->next;prehead->next->next=curhead;prehead=prehead->next;}else{break;}}prehead=curhead;curhead=curhead->next;}prehead->next=tmphead;return head;} void print_merge(node * head) { assert(head!=NULL); while(head!=NULL) { printf("%d\t",head->data); head=head->next; } printf("\n"); }int main(){node a[5]={{1,NULL},{3,NULL},{4,NULL},{5,NULL},{6,NULL}},*p;node b[3]={{2,NULL},{5,NULL},{6,NULL}};a[0].next=&a[1];a[1].next=&a[2];a[2].next=&a[3];a[3].next=&a[4];b[0].next=&b[1];b[1].next=&b[2];p=merge_insert(&b[0],&a[0]);print_merge(p);}
- 两个有序链表合并成一个新的链表,合成的链表一样有序排列
- 将两个有序链表合并成一个新的有序链表
- 有序的合并两个有序链表
- 合并两个有序链表形成一个新的有序链表
- 将两个有序链表合成一个有序链表
- 两个有序链表合并成一个有序链表
- 合并有序排列的链表
- 两个有序的链表合成一个有序的链表
- 将两个有序递增的链表合成一个有序递增的链表
- 将两个各自有序的链表,合成一个有序的链表
- 合并两个有序的链表为有序链表
- 9、单链表的合并,两个有序单链表,合并为一个有序链表。
- 给你两个有序链表,编写一个函数,把两个链表合并成一个新的有序链表,返回头指针
- 两个有序链表的合并问题
- 合并两个有序链表的算法
- 实现两个有序链表的合并
- 合并两个有序的链表
- 算法:两个有序链表的合并
- Jquery 选择器详解
- 初学C#编程的注意事项
- Oracle 触发器 Update 不能操作本表的疑问
- QT中如何给表格添加按钮
- ucGUI 几个重要Demo
- 两个有序链表合并成一个新的链表,合成的链表一样有序排列
- 生产者/消费者模式
- 挖掘非结构化文本信息:一种新的机器学习方法
- 备用dns服务器地址的使用
- Powerbuilder中使用工具栏与状态栏
- Fedora安装字体
- c# 注册窗体 连接数据库
- 本周末计划
- 安装php及配置apache