永发信息网

求C++一动态链表冒泡法排序.

答案:1  悬赏:60  手机版
解决时间 2021-02-18 19:44
  • 提问者网友:ミ烙印ゝ
  • 2021-02-17 22:00
只是排序的函数就行了,尽量简洁点...例如将以下形式的链表按num升序排列.stuct stu{int num;stu *next;}请用C++来写...C的很多东西我都不明白
最佳答案
  • 五星知识达人网友:过活
  • 2021-02-17 22:31



这是我以前写的一个链表模板类上截下的,你可以看看

template
void LinkList::sort() // bubble sort
{
LinkNode * r = head,
* q = r->next,
* p = q->next;

if ( len < 2 )
return ;

bool changed = 0;

for ( int i = len - 1 ; i > 0 ; i-- )
{
r = head;
q = r->next;
p = q->next;

changed = false;

for ( int j = 0; j < i; j++ )
{
if ( q->infor > p->infor )
{
r->next = p;
q->next = p->next;
p->next = q;

r = p;
p = q->next;

changed = true;
}
else
{

r = q;
q = p;
p = p->next;
}
}

if ( ! changed )
break;
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯