package PEU.P.sort; //作者,著作权人: 罗瑶光,浏阳 public class OTreeSort{ public Leaf root; public Leaf heap; int c; int a1[]; public int[] sort(int [] a) { //make tree c=0; a1=new int[a.length]; if(root == null){ root=new Leaf(); root.value[0]=a[0]; root.hasO1=1; } for(int i=1;iheap.value[0] && i<=heap.value[1]){ if(heap.O2==null){ heap.O2=new Leaf(); heap.O2.value[0]=i; heap.O2.hasO1=1; return; }else{ heap=heap.O2; I_leaf(i); } } else if(i>heap.value[1] && i<=heap.value[2]){ if(heap.O3==null){ heap.O3=new Leaf(); heap.O3.value[0]=i; heap.O3.hasO1=1; return; }else{ heap=heap.O3; I_leaf(i); } } else if(i>heap.value[2] && i<=heap.value[3]){ if(heap.O4==null){ heap.O4=new Leaf(); heap.O4.value[0]=i; heap.O4.hasO1=1; return; }else{ heap=heap.O4; I_leaf(i); } } else if(i>heap.value[3] && i<=heap.value[4]){ if(heap.O5==null){ heap.O5=new Leaf(); heap.O5.value[0]=i; heap.O5.hasO1=1; return; }else{ heap=heap.O5; I_leaf(i); } } else if(i>heap.value[4] && i<=heap.value[5]){ if(heap.O6==null){ heap.O6=new Leaf(); heap.O6.value[0]=i; heap.O6.hasO1=1; return; }else{ heap=heap.O6; I_leaf(i); } } else if(i>heap.value[5] && i<=heap.value[6]){ if(heap.O7==null){ heap.O7=new Leaf(); heap.O7.value[0]=i; heap.O7.hasO1=1; return; }else{ heap=heap.O7; I_leaf(i); } } else{ if(heap.O8==null){ heap.O8=new Leaf(); heap.O8.value[0]=i; heap.O8.hasO1=1; return; }else{ heap=heap.O8; I_leaf(i); } } } } }