鏈表習題(2)-一個集合用帶頭結點的單鏈表L表示,編寫算法刪除其值最大的結點。


 1 /*一個集合用帶頭結點的單鏈表L表示,編寫算法刪除其值最大的結點。*/
 2 /*
 3     算法思想:使用pre,p,premax,max四個指針,pre和p進行比較,premax和max進行最后的刪除操作
 4             通過遍歷找到最大的值,后進行刪除
 5 */
 6 void Delete_Max(LinkList& L)
 7 {
 8     LNode *pre = L, *p = L->next;
 9     LNode *premax = pre, *max = p;
10     while (p)
11     {
12         if (max->data < p->data)
13         {
14             premax = pre;
15             max = p;
16         }
17         pre = p;
18         p = p->next;
19     }
20     cout << "刪除了最大的元素:" << max->data << endl;
21     premax->next = max->next;
22     delete(max);
23 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM