鍊錶 查詢元素的時間複雜度是o(n),但是,更新、插入、刪除的時間複雜度都是o(1)。
對於需要頻繁插入和刪除元素的場景,用鍊錶更為合適。
單鏈表實現--**:
using system;
namespace test01
}public class mylinkedlist
node temp = head;
for (int i = 0; i < index; i++)
return temp;
}/// /// 插入元素
///
public void insert(int data, int index)
node insertednode = new node(data);
if (size == 0)
else if (index == 0)
else if(size == index)
else
size++;
}/// /// 刪除鍊錶節點
///
public node remove(int index)
node removenode = null;
if(index == 0)
else if(index == size - 1)
else
size--;
return removenode;
}/// /// 修改鍊錶
///
public void updata(int data, int index)
node curnode = get(index);
curnode.data = data;
}/// /// 列印鍊錶
///
public void println()}}
class program
}}
雙向鍊錶: C 寫演算法之佇列的基本操作
用陣列來實現佇列的一種比較好的方式是迴圈佇列。迴圈佇列不但充分利用了陣列的空間,還避免元素整體移動的麻煩。迴圈佇列要注意的是隊頭和隊尾的下標 計算方式 1.新的隊頭下標 front front 1 array.length 2.新的隊尾下標 rear rear 1 array.length 3.隊尾...
C 鍊錶基本操作
includeusing namespace std struct node typedef node mylist void createlist mylist head,int n 1 mylist copylist mylist l 2 void insertelem mylist head,...
C 鍊錶的基本操作
鍊錶相對於陣列 插入和刪除的效率高 查詢效率低 儲存額外的節點指標,帶來空間上的消耗 include using namespace std 定義鍊錶的資料結構 struct listnode 建立單向鍊錶 listnode list create return phead next 列印單向鍊錶 ...