这里接上一篇博客,
7. 单链表排序(冒泡排序&快速排序)
//7.单链表排序(冒泡排序)
void BubbleSort(pNode* pHead)
{
assert(NULL != pHead);
pNode pCur = *pHead;
pNode pPrev = NULL;
int index1 = 0;
int index2 = 0;
while (pCur != pPrev)
{
while (pCur->next != pPrev)
{
if (pCur->_data > pCur->next->_data)
{
DataType tmp = pCur->_data;
pCur->_data = pCur->next->_data;
pCur->next->_data = tmp;
}
pCur = pCur->next;
}
pPrev = pCur;
pCur = *pHead;
}
}
8. 合并两个有序链表,合并后依然有序,这里提供非递归和递归两个版本
//8.合并两个有序单链表
//这里是普通版本
pNode Merge(pNode* pHead1, pNode* pHead2)
{