单链表的冒泡排序法实现

来源:互联网 发布:网络市场监管建议 编辑:程序博客网 时间:2024/06/06 18:47
struct Node{int value;Node* next;};void Sort(Node* head){ Node* tail = NULL;while(tail != head->next){Node* pre = head;Node* cur = pre->next;while(cur != tail && cur->next != tail){if( cur->value > cur->next->value ){//交换当前节点和后一个节点pre->next = cur->next;cur->next = cur->next->next;pre->next->next = cur;}pre = pre->next;cur = pre->next;}tail = cur;}}void main(){Node* head = new Node();Node* cur = head; //使用带表头的链表int n = 10;//初始化链表数据for( int i = n; i >0; i-- ){Node* node = new Node();node->value = i;cur->next = node;cur = node;}//排序Sort(head);}

0 0