C 寫演算法之鍊錶的基本操作

2021-10-02 06:47:08 字數 980 閱讀 7792

鍊錶 查詢元素的時間複雜度是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 列印單向鍊錶 ...