線性表介面
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都是使用者傳入的引數,為煉表...