單鏈表與雙鏈表佇列

2021-07-07 04:14:40 字數 1745 閱讀 3788

一,鍊錶分類:單鏈表與雙向鍊錶;

三,定義類;

(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 快速找到前一結點,顧名思義,單鏈表只能單向讀取 為什麼市場上單鏈表的使用多餘雙鏈表呢?從儲存結構來看,每個雙鏈表的節點要比單鏈表的節點多乙個指標,...