数据结构之链表A分解为结点小于零的链表B、结点大于零的链表C
来源:互联网 发布:婚庆效果图设计软件 编辑:程序博客网 时间:2024/05/22 00:16
题目
设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A的元素类型为整型,要求B、C表利用A表的结点)。
代码
void Decompose(LinkList La,LinkList &Lb,LinkList &Lc)//这里要传值,要加引用符号否则只是把新建的形参Lb和Lc值改了{ LinkList p = La->next; LinkList q = Lb = ( LinkList )malloc(sizeof(LNode)); //这里原来写的就是一行LinkList q,r;没有为qr分配空间,r->next更是子虚乌有的 LinkList r = Lc = ( LinkList )malloc(sizeof(LNode)); while(p) { if(p->data < 0) { q->next = p; q = p; p = p->next; } else if(p->data > 0) { r->next = p; r = p; p = p->next; } else p = p->next;//这里没有考虑到,注意 } q->next = NULL; r->next = NULL;}
0 0
- 数据结构之链表A分解为结点小于零的链表B、结点大于零的链表C
- 删除链表A中与链表B结点相同的结点
- 数据结构链表结点
- 数据结构链表结点
- 假设在长度大于1的循环链表中,即无头结点也无头指针,s为指向链表中的某个结点的指针,试编写算法删除结点s的前驱结点
- C语言-数据结构-结点链表
- 链表C 链表的结点插入
- 数据结构头结点链表
- 有两个链表a,b,设结点包括学号,姓名。从a链表中删去与b链表中有相同学号的那些结点。
- 有两个链表a和b,设结点中包含学号和姓名,从a链表中删除和b链表中相同学号的结点
- 链表分割 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以
- 《数据结构》交换双向循环链表的结点p和它的前驱结点
- 【从零单排之微软面试100题系列】13之输出链表倒数第k个结点
- 删除链表中的中间节点和 a/b 处的结点 Python 版
- 带头结点的链表
- 带头结点的链表
- 链表的中间结点
- 链表结点的删除
- 对Matrix中preTranslate()和postTranslate()的理解
- LeetCode | Merge Sorted Array
- vs自带工具进行代码数字签名方法
- js 不支持 长数字 decimal 会丢失
- QTP录制脚本后要验证多个用户的登录情况/查询情况,如何操作?
- 数据结构之链表A分解为结点小于零的链表B、结点大于零的链表C
- BZOJ 2588 Count on a tree 主席树
- Java学习笔记
- Objective-C 数组
- sudo:update-grub:找不到命令 这要怎么办?
- JavaWeb知识 - 分页
- 【Foundation-10-4】#import <Foundation/NSArray.h>可变数组,一般
- Java Thread.join()详解
- HTML Parsing Error: Unable to modify the parent container element before the child element is closed