鍊錶的游標實現

2022-03-23 07:18:21 字數 996 閱讀 4046

//對於不支援指標的語言,鍊錶可以用游標來表示

//鍊錶的游標實現

//array陣列分兩部分,一部分為鍊錶部分,有乙個獨立頭節點,下標為1

//另一部分為freelist部分,也有獨立的乙個節點,下標為0,對於此部分,相當於乙個棧

//進行malloc操作時,從開頭(下標0後)取空間

//進行free操作時,被free的數放到開頭(下標0後)

#define maxn 10

struct

node

;void

free(struct node array,int

position)

intmalloc(struct

node array)

int findpreviousofdelete(struct node array,int head,int

number)

int findpreviousofinsert(struct node array,int head,int

number)

void insert(struct node array,int head,int

number)

int former=findpreviousofinsert(array,head,number);

array[position].element=number;

array[position].next=array[former].next;

array[former].next=position;

}void delete(struct node array,int head,int

number)

array[position].next=array[array[position].next].next;

free

(array,array[position].next);

}int

main()

鍊錶的游標實現

諸如basic和fortran等許多語言都不支援指標。如果需要鍊錶而又不能使用指標,這時我們可以使用游標 cursor 實現法來實現鍊錶。在鍊錶的實現中有兩個重要的特點 資料儲存在一組結構體中。每乙個結構體包含有資料以及指向下乙個結構體的指標。乙個新的結構體可以通過呼叫malloc而從系統全域性記憶...

鍊錶的游標實現

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

鍊錶的游標實現

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