01/10/2018, 01:09
Sửa hàm quick sort trong danh sách liên kết đơn - Java
[Help] Ai tìm giúp lối trong đoạn code này của mình với.Mình đang viết 1 cái hàm quick sort trong danh sách liên kết nhưng không biết lỗi ở đâu mà khi chạy nó không hiện gì cả.Cảm ơn m.ng
public void quickSort(List l){
Node<Integer> tag = l.head; //khoi tao node tag
l.head = l.head.next; //cap nhat head moi
tag.next = null; //co lap tag
if(l.head == l.tail) return;
List<Integer> l1 = new List();
List<Integer> l2 = new List(); //chia danh sach ban dau thanh 2 ds con
while(l.head != null){
Node<Integer> p =head;
l.head = l.head.next;
p.next = null;
if(p.getNode() <= tag.getNode()) l1.insertHead(p.getNode());
//l1 chua cac node co gia tri nho hon gia tri tag
else l2.insertHead(p.getNode());
//l1 chua cac node co gia tri lon hon gia tri tag
}
l.quickSort(l1); //thuc hien quick sort doi voi danh sach l1
l.quickSort(l2); //thuc hien quick sort doi voi danh sach l2
//thuc hien noi l1 va l2
if(l1.head != null){
l.head = l1.head;
l1.tail.next=tag;
}else{
l.head = tag;
l.tail.next = l2.head;
}
if(l2 != null){
l.tail = l2.tail;
}else{
l.tail = tag;
}`
Bài liên quan