接觸c語言的第一道難題 鍊錶

2021-08-19 03:48:41 字數 839 閱讀 2220

/*stu stu;

stu.num = 1;

strcpy(stu.name, "dear");

printf("%d

%s", stu.num, stu.name);

stu stu1;

stu1.num = 2;

strcpy(stu1.name, "小問題");

printf("%d

%s", stu1.num, stu1.name);

stu stu[30];

for (int i = 0; i < 30; i++)

*/stu* phead; //sizeof(int)

phead = (stu*)malloc(sizeof(stu));

//void* malloc(size); malloc動態開闢一塊記憶體,這塊記憶體的大小size,返回void*空指標型別

phead->num = 2;

strcpy(phead->name, "要慌");

printf("%d

%s", phead->num, phead->name);

stu* pnew = (stu*)malloc(sizeof(stu));

phead->pnext = pnew;

pnew->num = 1;

strcpy(pnew->name, "dear");

printf("%d

%s", phead->pnext->num, phead->pnext->name);

鍊錶:鍊錶:就是通過指標連線起來的一些記憶體空間。

其中每乙個空間叫做乙個節點。

最後乙個空間的pnext是指向空的。

鍊錶題目一道

原題鏈結 題意很簡單。給定乙個單鏈表,反轉這個單鏈表,返回翻轉後的頭節點。要將鍊錶翻轉,很容易想到借助棧的後進先出的性質來改變鍊錶的順序。將鍊錶節點順序壓入棧中,鍊錶節點全部進棧以後,取棧頂元素作為新鍊錶的頭節點,然後將元素不斷出棧,每齣棧乙個元素就連線到新鍊錶的末尾。時間複雜度 將鍊錶元素壓入棧中...

另一道鍊錶題目

有乙個鍊錶,它有next以及child屬性,每乙個child或者next指向的node也有相同的屬性,現在問如何遍歷所有的node。演算法有幾種option,第一種是用額外儲存空間,另一種是no extra memory。昨天和同事討論了一下,發現這道題目其實可以用遞迴來做,非常容易,幾句話就寫好了...

記錄一道C語言題目

很簡單的乙個題。磨磨腦子,最近有點手生。題目 統計各位數字之和是5的數 本題要求實現兩個函式 乙個函式判斷給定正整數的各位數字之和是否等於5 另乙個函式統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。我講得可能不算很清楚,具體請檢視題目鏈結 實現 include include def...