使用C 實現鍊錶的基本操作

2021-06-21 11:02:49 字數 1209 閱讀 8382

#include #include using namespace std;

typedef class list

node;

/* 單鏈表的建立

無引數,輸入任意非0數字建立鍊錶,輸入0結束建立

返回head頭指標

存在bug:第一次輸入0時,記憶體發生錯誤(已解決,無法列印出head->data的值)

*/node *create()

else

cycle = 0;

} if(0 != n)

else

return head;

} /*

單鏈表測長

傳入引數為煉表頭指標

返回鍊錶長度(int)

*/int length(node *head)

return n;}/*

單鏈表列印

傳入引數為煉表頭指標

無返回值

*/const void print(node *head)

} cout next)

if(num == p1->data)

else

p2->next = p1->next;

} else

cout << "元素" << num << "無法在鍊錶中找到" << endl;

return head;}/*

單鏈表的插入(頭插法)

傳入引數1:單鏈表頭指標;引數2:插入節點的資料

返回head頭指標

*/node *insert(node *head ,int num)

if(p0->data <= p1->data)

else

}else

return head;}/*

單鏈表的排序

傳入引數為煉表頭指標

返回值為排序後的煉表頭指標

*/node *sort(node *head)

p = p->next;

} }return head;}/*

單鏈表的逆序

傳入引數為煉表頭指標

返回值為排序後的煉表頭指標

*/node *reverse(node *head)

head->next = null;

head = p1;

return head;

}void main(void)

C 實現鍊錶基本操作

前幾天找實習的時候,乙個面試官給我留了乙個題,做乙個鍊錶demo,要求實現建立 插入 刪除等操作。鍊錶是一種常見的資料結構,它是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。...

鍊錶的基本操作(c 實現)

跟c語言不同點 1.結點建立方法與釋放方法 2.c 類 加入了建構函式和析構函式 3.每個函式有略微改動 c語言版 keep on going never give up author vinegar tree lang c blog date 2020 10 4 19 32 pragma gcc ...

c 實現單向鍊錶基本操作

最近又開始了資料結構的學習,去年下半年也學過一段時間,沒能堅持下去,希望這次能堅持久一點,把基礎的資料結構都能掌握 這是我最近對單向鍊錶的一些學習情況 我先是聽mooc的浙大資料結構的課程,在頭腦裡建立起資料結構的形象和特徵,這種方法不一定很好,只是目前我對資料結構的一種學習方法 在看完一種資料結構...