鍊錶的陣列實現

2022-09-02 18:36:06 字數 835 閱讀 3976

#include using

namespace

std;

#define maxsize 100

/*鍊錶的陣列實現

*/typedef

struct

list, *plist;

plist createemptylist()

int findlistelement(int

x, plist pl)

if (i > pl->last)

else

}void insertlistelement(int x, int

position, plist pl)

if ( position < 1 || position > pl->last + 2 ) //

鍊錶起始位置陣列從1開始,last為當前陣列下標從0開始(last = -1代表鍊錶為空)

//last + 2為在鍊錶尾部新增乙個元素(不影響鍊錶中已經存在的元素)

for ( i = pl->last; i >= position - 1; i++) //

將元素插入位置position之前

pl->listdata[position - 1] =x;

pl->last++;

return;}

void deletelistelement(int position, plist pl) //

position為第k個元素

for ( i = position - 1; i < pl->last ; i++)

pl->last--;

return

;}

鍊錶的陣列實現

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...

陣列實現鍊錶

測試類 public class listtest 再新增元素 list.add 100 list.modify 10,100 取出元素 for int i 0 i list.size i 建立乙個陣列佇列 author 閉耀堯 public class mylist 將心陣列的值賦給初始陣列的最後...

陣列模擬鍊錶的實現

pragma once 原理很簡單,將陣列的元素看成是鍊錶,或者說是陣列空間起到了記憶體池的作用。然後用兩個結點表示 當前使用 空閒的鍊錶 對效率問題上的一些說明 增 這個無需說,鍊錶直接秒殺。刪 類裡提供的是乙個element結構,裡面包含了使用者的資料。如果你想保持常量的效率 在一些資料介面提供...