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
0