鍊錶的游標實現

2021-08-04 08:50:10 字數 873 閱讀 9609

諸如basic和fortran等許多語言都不支援指標。如果需要鍊錶而又不能使用指標,這時我們可以使用游標(cursor)實現法來實現鍊錶。

在鍊錶的實現中有兩個重要的特點:

資料儲存在一組結構體中。每乙個結構體包含有資料以及指向下乙個結構體的指標。

乙個新的結構體可以通過呼叫malloc而從系統全域性記憶體(global memory)得到,並可以通過free而被釋放。

比如: a[0] = 1, a[1] = 2, a[2] = 3, a[4] = 5, … ; 那麼 a[0] = 1儲存的就是a[1] 的角標, 當從a[0]開始讀, 一直到最後就能把所有的資料讀完.

再比如 : a[0] = 2, a[1] = 3, a[2] = 1, a[3] = 0; a[0] 是儲存a[2]的角標, 而a[2]又儲存a[1]的角標, 整個資料是從a[0]->a[2]->a[1]->a[3]的順序;

簡單的**就先寫出來, 這個需要自己體會一下才能明白, 有一道演算法題用游標就特別的方便

const int max = 1000;

struct node

t[max];

int main()

t[i - 1].next = 0;

for (i = t[0].next; i != 0; i = t[i].next)

printf("%d ", t[i].num);

system("pause");

return

0;}

鍊錶的游標實現

author bbird gl date 2019 7 17 description 鍊錶的游標實現標頭檔案 ifndef cursor h define cursor h define spacesize 100 typedef int elementtype typedef int ptrton...

鍊錶的游標實現

在最開始的學習中,我們實現鍊錶都需要依靠指標來連線鍊錶的各個節點,但是,在一些語言中是不支援指標的,那麼,在不使用指標的情況下,我們就無法實現鍊錶了嗎?當然不是,其實還有另一種鍊錶的實現方式 游標實現!那麼如果想不使用指標,我們必須了解指標在鍊錶中的作用,我們來想一下,以前在寫鍊錶時,我們在那些地方...

鍊錶的游標實現

對於不支援指標的語言,鍊錶可以用游標來表示 鍊錶的游標實現 array陣列分兩部分,一部分為鍊錶部分,有乙個獨立頭節點,下標為1 另一部分為freelist部分,也有獨立的乙個節點,下標為0,對於此部分,相當於乙個棧 進行malloc操作時,從開頭 下標0後 取空間 進行free操作時,被free的...