一,鍊錶分類:單鏈表與雙向鍊錶;
三,定義類;
(1)node類:傳值與重寫get,set方法;
(2)linknodelist類;將對資料的增刪差改的基本操作方法或屬性;
(3)main();主函式類,進行資料的呼叫;
四,單鏈表的示例**;
public class linklistnode else
// 設定新節點為最後乙個節點
newnode.setnext(node);
} }// 插入
public void insert(int index, string data) catch (exception e)
} else
int count = 0;
createnode newnode = head;
// 找到下乙個節點的位置
while (count != (index - 1))
// 獲取下乙個節點的位置,給當前節點
createnode nextnode = newnode.getnext();
newnode.setnext(node);
node.setnext(nextnode);
} }public int size() else
// 返回當前節點,為所有節點的數值
return count;
} }// 查詢
public string get(int index) catch (exception e)
return null;
} else
// 返回資料域的值
return newnode.getdata();
} }// 刪除
public void delete(int index) catch (exception e)
} else
int count = 0;
createnode newnode = head;
// 當前下標減1,繼續找下乙個下標
while (count != index - 1)
// 初始位置指向下乙個值
createnode current = newnode.getnext();
// 下乙個位置的初始位置
createnode next = current.getnext();
newnode.setnext(next);
} return;
} // 更新
public void updata(int index, string data) catch (exception e)
} else
int count = 0;
createnode newnode = head;
// 找到下乙個節點的位置
while (count != (index))
// 獲取下乙個節點的位置,給當前節點
newnode.setdata(data);
return;
} }}
test()類
public static void main(string args)
}
測試執行結果為;
單鏈表 雙鏈表
實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...
雙鏈表與單鏈表的比較
雙鏈表在一定程度上就是單鏈表的的基礎上加上了乙個指標域,在一些情況下能夠使程式更加健壯和速率更加高效。雙鏈表的結點定義 typedef struct node int data struct node next struct node prior node 雙鏈表的定義 typedef struct...
單鏈表和雙鏈表
單鏈表 單鏈表只有乙個指向下一結點的指標,也就是只能next 雙鏈表 雙鏈表除了有乙個指向下一結點的指標外,還有乙個指向前一結點的指標,可以通過prev 快速找到前一結點,顧名思義,單鏈表只能單向讀取 為什麼市場上單鏈表的使用多餘雙鏈表呢?從儲存結構來看,每個雙鏈表的節點要比單鏈表的節點多乙個指標,...