带头结点的单链表冒泡排序 |
您所在的位置:网站首页 › esfj八维排序 › 带头结点的单链表冒泡排序 |
带头结点的单链表冒泡排序 本代码描述了带头结点的的冒泡排序,通过指针的移动来完成,其原理跟⼀维数组的冒泡排序⼀致,主要就是第⼀次排序将最⼤的数落到链 表的最后⼀个,第⼆次将次⼤的数落在倒数第⼆个位置。复杂度O(n^2)。具体过程代码中已有解释。第⼀次写写博客,如有错误,望⼤家 不吝赐教! 1 #include 2
3 using namespace std; 4
5 // 链表中结点的结构体:由 value 值和⼀个结构体指针构成 6 struct LinkNode 7 { 8 int value; 9 struct LinkNode *link; 10 }; 11 // 插⼊链表节点 12 LinkNode * InputList(LinkNode *head) 13 { 14 head = new LinkNode;// 本例为带头结点的链表 15 head->link = NULL; 16 int size; 17 coutlink = head->link; 25 head->link = NewNode; 26 } 27 return head; 28 } 29 // 输出链表 30 void OutputList(LinkNode * head) 31 { 32 LinkNode * pass = head; 33 while(pass->link) 34 { 35 coutvaluelink!=tail) 52 { 53 if(p->link->value > q->link->value) 54 { 55 p->link = q->link; 56 q->link = q->link->link; 57 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |