关于一个已排序成功的链表的内容处理有关问题
关于一个已排序成功的链表的内容处理问题
以下函数目的为了将一个按多项式(已按指数大小排好序)合并同类项。last为指数,val为系数。
编译是通过了,运行到这函数是就出错了,求指导。谢谢!
------解决方案--------------------
while (p_First != NULL)这里应该判断的是p_After != NULL
------解决方案--------------------
- C/C++ code
//多项式指数排序 void Rank (Count * pHead) { struct Count * p = pHead->pNext; struct Count * temp; while (p != NULL) { while (p->pNext != NULL) { if (pHead->pNext->Last > p->pNext->Last) { temp = pHead->pNext; pHead->pNext = p->pNext; p->pNext = pHead->pNext->pNext; pHead->pNext->pNext = temp; } else p = p->pNext; } pHead = pHead->pNext; p = pHead->pNext; } return; }
以下函数目的为了将一个按多项式(已按指数大小排好序)合并同类项。last为指数,val为系数。
编译是通过了,运行到这函数是就出错了,求指导。谢谢!
- C/C++ code
void Handle (Count * pHead) { struct Count * p_First = pHead->pNext; struct Count * p_After = pHead->pNext->pNext; while (p_First != NULL) { if (p_First->Last == p_After->Last) { p_First->Val += p_After->Val; p_First->pNext = p_After->pNext; p_After = p_After->pNext; } else { p_First = p_First->pNext; p_After = p_After->pNext; } } return; }
------解决方案--------------------
while (p_First != NULL)这里应该判断的是p_After != NULL
------解决方案--------------------
- C/C++ code
while (p_First != NULL && p_After != NULL)//这里要一起判断,不然里边用到p_After会出错