合併單鏈表

2021-08-11 09:33:51 字數 1558 閱讀 2870

線性表介面

public inte***ce ilinarlist

單鏈表實現線性表

public class slinklistimplements ilinarlist

}// 初始化線性表

public slinklist()

// 新增元素,將元素新增在單鏈表的末尾

public boolean add(e item) else

current.next = new node(item, null);

} size++;

return true;

}// 在單鏈表的第index索引位置前插入乙個資料元素

public boolean add(int index, e item)

nodenewnode = new node(item, null);

// 在空鍊錶或第乙個元素前插入第乙個元素

if (index == 0) else

if (j == index)

} return true;

}// 刪除單鏈表中的索引位置為index的資料元素

public e remove(int index)

nodecurrent = start;

if (index == 0) else

previous.next = current.next;

oldvalue = current.item;

current = null;

size--;

} return oldvalue;

}// 在單鏈表中查詢資料元素item資料位置

public int indexof(e item)

} else

}return -1;

}// 獲得單鏈表的第index索引位置的資料元素

public e get(int index)

nodecurrent = start;

int j = 0;

while (current.next != null && j < index)

if (j == index)

return item;

}//求單鏈表長度

public int size()

//清空單鏈表

public void clear()

start = null;

size = 0;

}//判斷單鏈表是否為空

public boolean isempty()

//輸出單鏈表

public void p()

system.out.println();

}}

測試類

public class test1  

p++;

}o++; }}

}

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...

單鏈表合併

某公司的面試題。兩個公升序單鏈表a,b,給定乙個節點c。不能申請其他節點情況下將a,b 按公升序排列。include include include struct link 建立鍊錶 nrandom 自由因子 ncount 鍊錶節點數目 link create const int nrandom,c...

合併單鏈表

合併單鏈表 20分 本題要求實現乙個函式,將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。在這裡描述函式介面。例如 linklist mergetwolists linklist l1,linklist l2 其中l1和l2都是使用者傳入的引數,為煉表...