分步驟解決:
1)初始化鍊錶,建立頭結點
2)根據輸入建立鍊錶 link *create(link *l),此處採用尾插法即可,直接在create函式中輸入並以此插入到尾節點後
3)查詢出最大值並從鍊錶中刪除之link *find_delete_max(link *l)
4)最有難度的乙個,在已存在鍊錶的基礎上進行排序操作,這裡採用的是類似於冒泡演算法排序:void sort(link *l)不交換指標,只交換資料
5)輸出釋放節點void print_free(link *l)
**:
#include
#include
#include
using namespace std;
typedef struct linklink;
link *
initlink()
link *
create
(link *l)
else
}return l;
}link *
find_delete_max
(link *l)
prep=p;p=p-
>next;
} cout
>next=pmax-
>next;
free
(pmax)
;return l;
}void
sort
(link *l)
cur=cur-
>next;
} p=p-
>next;}}
void
print_free
(link *l)
cout<}int
main()
查詢鍊錶中的最大值
描述 利用單鏈表表示乙個整數序列,通過一趟遍歷在單鏈表中確定值最大的結點。輸入多組資料,每組資料有兩行,第一行為鍊錶的長度n,第二行為鍊錶的n個元素 元素之間用空格分隔 當n 0時輸入結束。輸出對於每組資料分別輸出一行,輸出每個鍊錶的最大值。輸入樣例 1 5 2 1 3 5 4 62 3 10 4 ...
查詢鍊錶中的最大值
描述 利用單鏈表表示乙個整數序列,通過一趟遍歷在單鏈表中確定值最大的結點。輸入多組資料,每組資料有兩行,第一行為鍊錶的長度n,第二行為鍊錶的n個元素 元素之間用空格分隔 當n 0時輸入結束。輸出對於每組資料分別輸出一行,輸出每個鍊錶的最大值。輸入樣例 1 5 2 1 3 5 4 62 3 10 4 ...
查詢鍊錶中的最大值
描述利用單鏈表表示乙個整數序列,通過一趟遍歷在單鏈表中確定值最大的結點。輸入多組資料,每組資料有兩行,第一行為鍊錶的長度n,第二行為鍊錶的n個元素 元素之間用空格分隔 當n 0時輸入結束。輸出對於每組資料分別輸出一行,輸出每個鍊錶的最大值。樣例輸入1 5 2 1 3 5 4 62 3 10 4 5 ...