作者Egriawei (断背山狼与羊)
站内java
标题Re: [问题] 把两个linkedlist合并成一个
时间Sun May 7 23:15:27 2006
※ 引述《helenus (就是爱SEX)》之铭言:
: 就是建立两个linked-list 然後可以让人用键盘输入数字
: 比如说第一个linked-list输入 1 4 7三个数字
: 第二个linked-list输入 2 5 6三个数字
: 接着萤幕上会显示出合并後的数字1 2 4 5 6 7
: 并且把最大的数值7也显示出来
: (底下是我写的code 如果有改进的地方也请大家跟我说 谢谢)
恕删
: (我想问一下 写到这里我应该怎麽把两个linkedlist合并成一个
: 由小到大的串列呢?)
: }
: }
要不要考虑再创一个linkedlist
然後用while的方式将两个list的资料写入?
意思大概是这样(变数稍微跟你的不一样)
用的方法跟你print data的while回圈差不多
=========================================
//怕以後可能还想使用List1跟List2的参考
//所以乾脆先各复制一份参考to combine里面的data
//以下写在main void里
List1_tc = List1;
List2_tc = List2;
LinkedList MainList = new LinkedList();
//如果要玩很多LinkedList合并
//可以宣告LinkedList TempList[] = new LinkedList();
//然後下面再多个for回圈在外面
while(List1_tc.nextNode != null)
{
int tempvalue = List1.data;
List1 = List1.nextNode;
MainList.insert(tempvalue);
//後面fasle我就不打了,基本上Node本身应该要能判断
//不要从外面决定true or fasle,如果没有资料你可以用insert at front
//再设定刚开始的firstNode跟LastNode指向同参考
}
然後List2_tc一样
最後
System.out.print("Mainlist串列 : ");
MainList.print();
System.out.println("最大数字为 : " + MainList.data);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.82.114
※ 编辑: Egriawei 来自: 218.167.82.114 (05/07 23:20)