資料結構 單鏈表

2021-10-23 02:39:07 字數 1510 閱讀 1868

總結:從上面來看,新增節點 ,刪除節點 都很容易,但是找到節點卻不容易。因為鍊錶是記憶體空間不連續的,我們不能直接查詢到某個節點。需要從頭節點乙個乙個查詢,所以刪除和新增的操作的時間複雜度都為o(n).

package com.mk.coffee.test.datastructure.list;

import lombok.data;

/** * @author makui

* @date 2020/04/02

*/@data

public class list

public list(node node)

//新增首節點

public void addfirst(e data)

//刪除頭結點

public void removefirst()

//刪除節點

public void remove(int index)

//引數校驗

if (index < 0 || index > size)

//遍歷找到要刪除的節點

node next = head;

for (int i = 0; i < index - 1; i++)

//要刪除的節點

node del = next.next;

//前乙個節點的next 直接指向要刪除節點的next

next.next = del.next;

}//新增節點

public void add(int index, e e)

if (index < 0 || index > size)

//記錄新增節點的前乙個節點

node prev = head;

for (int i = 0; i < index - 1; i++)

//前乙個節點的next 指向新的節點,且新的節點元素為e 下乙個節點為前乙個節點的後乙個節點

prev.next = new node(e, prev.next);

size++;

}private class node

public node(e e)

public node(e e, node next)

}//為了方便檢視,只能在最後呼叫

@override

public string tostring()

}return "";

}public static void main(string args)

}

資料結構單鏈表

初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...

資料結構 單鏈表

今天浪費了好多時間,也許是心裡想著明天的考試吧 可自己也知道這次的考試,自己畢竟過不了了,只好等到今年11月份,想想那時自己已經大三了 還有那麼多時間嗎!很懊惱今天不知怎麼回事,感嘆環境真的可以影響乙個人,真的可以 把今天的學習筆記寫下來,沒有進行好好的整理,這回單鏈表的功能較多,操作比較散,最後乙...

資料結構 單鏈表

實現乙個單鏈表 1 查詢 查詢第index個節點 查詢指定的元素 2 插入 將指定的元素插入到第index個節點上 3 刪除 將第index個節點刪除 規律 刪除和新增元素前務必儲存兩個元素的位址引用資訊 public class mylinkedlist 記錄鍊錶結構的頭結點位址引用 privat...