链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下

 1 /*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/
 2 /*
 3     算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换
 4     pre->data和p->data
 5 */
 6 void SwapData(LinkList& L, int k)
 7 {
 8     LNode *pre = L, *p = L->next;
 9     int temp;
10     while (p)
11     {
12         if (p->data == k)
13         {
14             temp = p->data;
15             p->data = pre->data;
16             pre->data = temp;
17         }
18         pre = p;
19         p = p->next;
20     }
21 }
原文地址:https://www.cnblogs.com/KBryant/p/11650055.html