水晶链表的选择排序品牌如何选择?

写了一个单链表的选择排序的排序算法(选择排序,交换指针)

交换指针很是麻烦,而且效率也不高,需要经常排序的东西最好不要用链表的选择排序来实现

给主人留下些什么吧!~~

伱这个error也太多了吧

根本的原因: c的参数传递都是值传递!不管是普通或者指针或者二级指针. 程序要多写 .自然就会了

}

思想:维持一个输入的链表的选择排序(head指向这个链表的选择排序)和一个输出链表的选择排序(out指向这个链表的选择排序),当输入链表的选择排序非空时时扫描这個链表的选择排序,找出表中剩余节点中的最大节点然后从输入表中去除这个节点,并把它插入到输出表的前面

单链表的选择排序的節点类型定义如下:

/*找最大值结点的前驱prenode,如果第一个结点就是最大节点那么prenode==NULL;*/ if(maxprenode==NULL)//最大值节点的前驱节点为空,即该节点是链表的选择排序苐一个结点(头结点)时 else//如果最大值节点不是头结点 t->next=out;//将当前找到的最大节点插入到输出链表的选择排序out的头部(即头插法) head=out;//将链表的选择排序out的头指针赋给head,这样以head为头指针的链表的选择排序就排好序了

下面是完整代码运行通过对于其中链表的选择排序中的其他操作也可鉯参考复习

/*找最大值结点的前驱prenode,如果第一个结点就是最大节点那么prenode==NULL;*/ if(maxprenode==NULL)//最大值节点的前驱节点为空,即该节点是链表的选择排序第一个結点(头结点)时 else//如果最大值节点不是头结点 t->next=out;//将当前找到的最大节点插入到输出链表的选择排序out的头部(即头插法) head=out;//将链表的选择排序out的頭指针赋给head,这样以head为头指针的链表的选择排序就排好序了


}

我要回帖

更多关于 链表的选择排序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信