首页 > 代码库 > 12.单链表排序
12.单链表排序
12.单链表排序
思路:
参见基本函数13://冒泡排序链表,具体的做法是“狸猫换太子”,即只交换节点中的值,对链表结构不做改动。
void sortList(Node*& Head);
//链表排序//排序的方法是不破坏结构,有“狸猫换太子”的意思,只进行value的交换,不破坏链表结构void sortList(Node*& Head){ int count=numOfNodes(Head); if(count==0||count==1) { return ; } //冒泡排序 bool exchange; for(int i=2;i<=count;i++) { exchange=false; for(int j=count;j>=i;j--) { Node* p1=locateNodeI(Head,j); Node* p2=locateNodeI(Head,j-1); if(p1->value<p2->value) { exchange=true; swap(p1->value,p2->value); } } if(!exchange) break; }}
12.单链表排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。