当前位置:   article > 正文

两个链表有序,将两个有序单链表合并成一个有序单链表。_创建两个有序单链表,然后,把这两个有序单链表合并成一个有序单链表。

创建两个有序单链表,然后,把这两个有序单链表合并成一个有序单链表。

思路:

1、分析从合并两个链表的头结点开始。比较两个链表头结点的值,较小头结点链表将是合并后链表的头结点。

2、继续合并两个链表中剩余的结点。在两个链表中剩下的结点依然是排序的,因此合并这两个链表的步骤和前面的步骤是一样的。我们还是比较两个头结点的值。

3、当我们得到两个链表中值较小的头结点并把它链接到已经合并的链表之后,两个链表剩余的结点依然是排序的,因此合并的步骤和之前的步骤是一样的。

4、一旦输入空的链表就会引入空的指针,因此我们要对空链表单独处理。当第一个链表是空链表,也就是它的头结点是一个空指针时,那么把它和第二个链表合并,闲人合并的过程就是第二个链表。同样,当输入的第二个链表的头结点是空指针的时候,我们把它和第一个链表合并得到的结果就是第一个链表。如果两个链表都是空链表,合并的结果是得到一个空链表。
代码实现:

  1. public class Link<T extends Comparable<T>> {
  2. private Entry<T> headEntry;
  3. private Entry<T> tailEntry;//标记尾部
  4. public Entry<T> getEntry(T value){
  5. for(Entry<T> p = headEntry;p!=null;p=p.getNext()){
  6. if(p.getValue().compareTo(value) ==0){
  7. return p;
  8. }
  9. }
  10. return null;
  11. }
  12. public void addHead(T value){
  13. Entry<T
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码领袖开发者/article/detail/62963
推荐阅读
相关标签
  

闽ICP备14008679号