01/10/2018, 08:27
Lỗi về sắp xếp danh sách liên kết đơn!
void Swap(Node *&p, Node *&q){
Node *tmp;
tmp = q->next;
q->next = p;
p->next = tmp;
}
void SortAscending(List l){
while (l.head){
for (Node *p=l.head; p!=0; p=p->next){
for (Node *q=l.head->next; q!=0; q=q->next){
if (p->data > q->data) Swap(p,q);
}
}
l.head= l.head->next;
}
}
Lúc sắp xếp xong chạy ra danh sách thì nó lại xuất ra được 1 phần tử đầu tiên và kết thúc, mình chưa hiểu tại sao? Ai đó xem giúp mình có thiếu chỗ nào hay sai ở đâu không ajh?
Bài liên quan
Người ta swap là swap data chứ bạn swap cái
next
là nát hết liên kết rồi còn gì.