#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的浙大資料結構的課程,在頭腦裡建立起資料結構的形象和特徵,這種方法不一定很好,只是目前我對資料結構的一種學習方法 在看完一種資料結構...