鏈表習題(9)-編寫一算法,將鏈表中數據域值最小的結點移到鏈表的最前面。要求不能申請新結點


 1 /*編寫一算法,將鏈表中數據域值最小的結點移到鏈表的最前面。要求不能申請新結點*/
 2 /*
 3     算法思想:找到最小值結點,及其前驅,然后通過修改指針域達到要求
 4 */
 5 void MoveMinToFirst(LinkList& L)
 6 {
 7     LNode *pre = L, *p = L->next;
 8     LNode *premin = pre, *min = p;
 9     while (p)
10     {
11         if (min->data > p->data)
12         {
13             premin = pre;
14             min = p;
15         }
16         pre = p;
17         p = p->next;
18     }
19     premin->next = min->next;
20     min->next = L->next;
21     L->next = min;
22 }

 


免責聲明!

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



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