我在编程的排序部分还不是很先进,所以我一直在寻找一些有关我的算法的帮助。链接列表插入排序
void sortList()
{
Item_PTR tmpNxt = current->nextItem;
Item_PTR tmpPTR = current;
int a, tmp;
while(tmpNxt != NULL)
{
a = tmpPTR->value;
while(tmpNxt != tmpPTR && tmpNxt->value < a)
{
tmp = a;
tmpPTR->value = tmpNxt->value;
tmpNxt->value = tmp;
tmpPTR = tmpPTR->nextItem;
}
tmpPTR = current;
tmpNxt = tmpNxt->nextItem;
}
}
之前列表状态排序:9 8 7 6 5 4 3 2 1 排序后:1 9 8 7 6 5 4 3 2
我不知道为什么... I”我在纸上玩过很多电脑,我觉得它应该可以工作......但也许其他人会发现问题。
当前是一个全局指针,它总是具有列表中第一个/顶部元素的位置。
你的意思是 “9 8 7 6 5 4 3 2 1” 是列表的排序前的状态和 “1 9 8 7 6 5 4 3 2” 排序后的状态? – 2010-10-10 17:34:26
是^^;对不起,我会在第一篇文章中说清楚。 – Bri 2010-10-10 17:35:13
你为什么不用调试器来完成它? – 2010-10-10 17:36:14