合并两个有序链表
来源:互联网 发布:js修改css样式 生效 编辑:程序博客网 时间:2024/06/17 14:51
#include <iostream>#include <string.h>using namespace std;/** 分析:合并链表过程实际上是比较两个指针的过程 存在问题:两个链表微为空的情况 **/typedef struct ListNode{ int value; struct ListNode * next;}ListNode;typedef ListNode* LinkList;int a[6] = {1,2,6,8,10,40};int b[6] = {2,4,10,12,50,60};void initLinkNode(LinkList * p , int type){ *p = (LinkList)malloc(sizeof(ListNode)); (*p)->value = 0; (*p)->next = NULL; int count = 0; LinkList head = *p; while (count < 6) { LinkList q = (LinkList)malloc(sizeof(ListNode)); if(type == 1) q->value = a[count]; else q->value = b[count]; q->next = NULL; head->next = q; head = q; count++; }}LinkList sortList(LinkList p ,LinkList q){ LinkList merageList; if(p == NULL && q == NULL) return NULL; if(p == NULL) return q; if(q == NULL) return p; if(p->value > q->value) { merageList = q; merageList->next = sortList(p, q->next); }else{ merageList = p; merageList->next = sortList(p->next, q); } return merageList;}int main(int argc, const char * argv[]) { LinkList p ; LinkList q ; initLinkNode(&p,1); initLinkNode(&q,2); LinkList result = sortList(p->next,q->next); while (result != NULL) { cout<<result->value<<endl; result=result->next; } return 0;}
0 0
- 有序的合并两个有序链表
- 两个有序链表合并为有序
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 合并两个有序链表
- 进程的开始与终止(exit和_exit区别)
- 山东省第三届ACM省赛 Pick apples
- XAMPP安装常见问题以及解决?
- hdu1787——GCD Again(欧拉函数入门)
- Unity各类数据库的基本操作(五)-- PlayerPrefs
- 合并两个有序链表
- oracle 12C 创建用户失败 解决方案
- JS面向对象
- JS中面向对象简单入门
- mac android编译打包时OOM:java heap space的解决方法,亲测有效
- netstat命令(持续更新中)
- Git撤销&回滚操作
- haproxy开启日志
- eclipse实现SSL单/双向认证