读书人

链表的冒泡排序 交换地址 求高手指正,

发布时间: 2012-05-12 15:39:31 作者: rapoo

链表的冒泡排序 交换地址 求高手指正
for( p->pNext;P->pNext !=NLLL;p->pNext->p-pNext)//p->pNext 是链表指向的第一个元素的地址 p->pNext->pNext 是第二个 元素的地址
for (p->pNext->pNext;p->pNext->pNext != NULL;p->pNext->pNext->pNext)
//p->pNext 是链表指向的第二个元素的地址 p->pNext->pNext 是第三个元素的地址
if (p->data > p->pNext->data)//判断第一个元素的数据域是否大于第二个元素的数据域
{
r = p->pNext;//r保存了第一个元素的地址
t = p->pNext->pNext;//t保存了第二个元素的地址
p->pNext = t;//第二个元素前移
x = t;//用x保存t指向的地址
t = r;//是第二个元素指向第一个元素
r = x;//是第一个元素指向第二个元素指向的地址


}

[解决办法]
记得貌似单链表插入删除,要用两个节点指针,一个记录当前节点,一个记录前一个节点。现在2个点交换,那要4个的吧,不然这链条可就断了粘不起来...

读书人网 >C语言

热点推荐