6 4 單鏈表最大值 20分

2021-10-05 14:18:28 字數 1410 閱讀 5706

本題要求求出單鏈錶值最大的結點並返回。要求實現兩個函式。

函式介面定義:

/* 建立單鏈表並返回單鏈表的頭指標 */

struct node*

buildlinkedlist

(int

* arr,

int n)

;/* 求單鏈錶值最大的結點,返回指向最大值結點的指標。

* 若單鏈表為空,則返回null。

*/struct node*

getmax

(struct node* head)

;

其中arr存放建立單鏈表所需的資料(均為正整數),n 的值不超過1000; head 為不帶附加頭結點的單鏈表的頭指標。

裁判測試程式樣例:

#include

#include

struct node

;/* 建立單鏈表並返回單鏈表的頭指標 */

struct node*

buildlinkedlist

(int

* arr,

int n)

;/* 求單鏈錶值最大的結點 */

struct node*

getmax

(struct node* head)

;int

main

(int argc,

char

const

*ar**)

struct node* head =

null

; head =

buildlinkedlist

(a, n)

;struct node* pmax =

getmax

(head);if

(pmax)

printf

("%d\n"

, pmax->data)

;else

printf

("-1\n");

free

(a);

return0;

}/* 請在這裡填寫答案 */

輸入樣例:

437

95

輸出樣例:

9
struct node*

buildlinkedlist

(int

* arr,

int n)

else

tail=s;

}return head;

}struct node*

getmax

(struct node* head)

else

}return s;

}

PTA 6 1 求單鏈表最大值

6 1 求單鏈表最大值 6分 本題要求實現乙個函式,返回帶頭結點的單鏈表中最大元素的位址。函式介面定義 linklist maxp linklist l l是帶頭結點的單鏈表的頭指標,函式maxp返回表中最大元素的位址。如果單鏈表為空,返回空指標。其中linklist結構定義如下 typedef s...

單鏈表操作 排序,拆分,刪除最大值

1.單鏈表拆分 題如下 對於乙個帶頭結點的單鏈表l 現將單鏈表拆分成兩個鍊錶 l1 l2 其中l1沿用原節點l,l2則新建節點。思路分析 對於所有a節點,依次指向下乙個a節點,對於b節點,則採用頭接法依次接入l2鍊錶。如下 include include struct sqlist sqlist l...

求單鏈表的最大值與原地逆轉

資料結構鍊錶一章已學習完畢,因此編了乙個程式用以實現鏈式表的構建,插入,查詢,求最大值,以及原地逆轉。除了求最大值與原地逆轉之外都是常規操作,不再贅述,著重分析最大值與逆轉的演算法。一 最大值的求解 通過max函式實現,定義結構體指標p指向l的首元節點,max初值為p data,通過if判斷是否有更...