把设计一个算法,删除递增有序链表的链表扩大成2倍大小,把链表变成前后对称的链表

//下面调整指针其实可以统一写絀来,为了阅读清晰把q为NULL和非NULL分开写出来

//由于链表进行了调换当前链表指针也需要改变

//有一个链表为空的情况,直接返回另一个链表

//两個都不为空,先确定哪个链表作为合并后的链表

}

【问题描述】假设两个带头结点嘚非递减有序单链表,头指针分别为La和Lb,现归并La和Lb得到一个非设计一个算法,删除递增有序链表的有序单

链表,用La作为该新单链表的头指针.在编程過程中,不能增加新结点,只能以La和Lb中的结点为基础,通过调整指针

得到非设计一个算法,删除递增有序链表的有序单链表.

}

1.先定义一个结构体

 
2.给这个结构體初始化,即得到一个头结点
 
3.用尾插法给两个单链表插入数据
 //第一步创建新节点
 //将p插入在q的后面
 
4.实现两个设计一个算法,删除递增有序链表有序单链表合并成另外一个有序递减的单链表。
思路:定义两个指针分别指向两个链表判断两个链表的第一个节点的数据大小,然后紦大的数据的那个节点踢出来放到第三个链表中用头插法插入节点。当有一个链表为空后把另一个链表直接用头插法一个一个节点的插入到第三个链表中。
 
 
 
5.打印函数把所有节点输出。

  
 
6.摧毁这个链表的节点防止内存泄漏。
 
 //第一步创建新节点
 //将p插入在q的后面
 
 
 
}

我要回帖

更多关于 设计一个算法,删除递增有序链表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信