how to sort doubly linked list as quick sort in java? i want to use pivot as my middle Node.
this is my partition code
public Node partition(Node left, Node right) {
Node pivot = (Node) peek(5);
Node p = left.getPrev();
for(Node q=left; q!=right; q=q.getNext()) {
if((int)q.getItem()<=(int)pivot.getItem()){
if(p == null){
p = left;
}else{
p.getNext();
}
int temp = (int) p.getItem();
p.setItem(q.getItem());
q.setItem(temp);
}
}
if(p == null){
p = null;
}else{
p.getNext();
}
int temp = (int)p.getItem();
p.setItem(pivot.getItem());
pivot.setItem(temp);
return p;
}
this is my sort part
public void QuickSort(Node left, Node right) {
if(right!=null && left!=right && left!=right.getNext()) {
Node p = partition(left,right);
QuickSort(left,p.getPrev());
QuickSort(p.getNext(),right);
}
}
it doesnt work at all