2011-03-14 63 views
0

我有一個csv文件,有幾行(組#,#組中的元素#),我需要把它們放在一個鏈表中。當這個文件讀入csv時,我發生了這種情況,將它放入tmpPacket對象中,然後將tmpPackets放入nodeList(鏈表)中,並試圖將它添加到鏈表中,這樣如果組#與前一個相同,它將其添加到該組的開頭,否則將其添加到鏈表的末尾。在鏈接列表的正確位置輸入對象

無論如何,我到目前爲止一直在努力將它添加到鏈接列表中的一個組,但忽略其餘的組。例如輸入將是:

4,3,2 
5,1,1 
4,3,1 
4,3,3 
2,2,2 
3,1,1 
2,2,1 

,基本上我想它所以當它被添加到鏈表它看起來就像:

4,3,1 
4,3,2 
4,3,3 
5,1,1 
2,2,1 
2,2,2 
3,1,1 

(確切順序無關緊要4,5 ,2和3可以以任意順序排列,重要的是4是在一起,5是在一起...)。

這就是我只是輸出4的,沒有別的。

int currLength = nodeList.getLength(); 
     int finishNum = 0; 
     for(int tmpGo=1;tmpGo<=currLength;tmpGo++){ 
      if(finishNum == 0){ 
       int itr = 0; 
       int addEnd = 0; 
       while(itr<nodeList.getLength()){ 
        itr++; 
        if(nodeList.getEntry(itr).getPageID() == pageID) { 
         nodeList.add(tmpGo, tmpPacket); 
         finishNum = 1; 
         addEnd = 1; 
         break; 
        } 
       } 


      } else { 
       break; 
      } 
     } 

回答

0

所以,我不知道你的節點列表是什麼,但根據您最初的描述,你需要這樣的:

int i; 
int l = list.length(); 
for (i = 0; i < l; i++) 
    if (list.getEntry(i).key() == newKey) 
     break; 
list.insert(newEntry, i); 

這個例子假設:

  • 列表條目編號從0到長度 - 1
  • 在長度處插入一個條目與追加條目相同

但是,它不會導致您的示例結果。相反,您會得到:

4,3,3 
4,3,1 
4,3,2 
5,1,1 
2,2,1 
2,2,2 
3,1,1