資料結構 鍊錶的實現(帶頭節點)

2021-08-04 12:43:05 字數 2152 閱讀 9983

鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列節點組成,每個結點包括資料域和指標域。

此處是帶頭結點的鍊錶。

typedef struct linklistll;
ll *headcreate_list(int n) 

return p;

}

- 尾插法c++

ll *create_list(int n)

return p;//p是頭節點

}```

ll *insert_list(ll *p,int place,int e)

s=(ll*)malloc(sizeof(ll));

s->data=e;

s->next=q->next;

q->next=s;

return p;

}

ll *delete_list(ll *p,int place)

e=q->next->data;

printf("被刪除的元素為:%d\n",e);

r=q->next;

q->next=q->next->next;

free(r);

return p;

}

int locate (ll *p,int e)

} return 0;

}

int length(ll *p)

} return n;

}

ll *nizhi(ll *head)

return head;

}

void print_list(ll *p)

printf("\n");

}

完整**實現:

#include#include#include#includetypedef struct linklistll;

ll *create_list(int n);//尾插法 建立鍊錶

ll *headcreate_list(int n);//頭插法 建立鍊錶

void print_list(ll *p);//列印鍊錶

ll *insert_list(ll *p,int place,int e);//把e插入place位置

ll *delete_list(ll *p,int place);//把place位置刪除

int locate(ll *p,int e);//尋找位置

int length(ll *p); //求長度

ll *nizhi(ll *p); //單鏈表的逆置

int main()

ll *create_list(int n)

return p;//p是頭節點

}void print_list(ll *p)

printf("\n");

}ll *insert_list(ll *p,int place,int e)

s=(ll*)malloc(sizeof(ll));

s->data=e;

s->next=q->next;

q->next=s;

return p;

}ll *delete_list(ll *p,int place)

e=q->next->data;

printf("被刪除的元素為:%d\n",e);

r=q->next;

q->next=q->next->next;

free(r);

return p;

}ll *headcreate_list(int n)

return p;

} int locate (ll *p,int e)

} return 0;

}int length(ll *p)

} return n;

}ll *nizhi(ll *head)

return head;

}

Linux資料結構 雙向鍊錶2(帶頭節點)

這一篇講講雙向鍊錶的其他操作 一.查詢乙個資料 dlinknode dlinklistfind dlinknode head,dlinktype to find return null 1.指標的合法性判斷 2.空鍊錶判斷 3.遍歷 二.指定位置之前插入乙個節點 void dlinklistinse...

資料結構 帶頭雙向迴圈鍊錶的實現

在實際工作中用雙向鍊錶又更多一點,因為雙向鍊錶比單鏈表效率更高,雙鏈表結構複雜,但是使用 實現以後會發現結構會帶來 很多優勢,實現反而簡單了 其實寫了單鏈表之後再看雙鏈表其實非常簡單,只不過就是多了乙個指標域而已,再沒有什麼特別難的地方.我們就直接上 吧 dlist.h pragma once in...

帶頭節點的鍊錶

include include includetypedef int type typedef struct node node 建立乙個頭節點並將其指標返回 node node init 列印乙個鍊錶 void node display node head else printf n 找到第n個節...