
Insertion-Sort && Merge-Sort
Insertion-Sort(插入)
1 2 3 4 5 6 7 8 9 10 11 12
|
A[]={5,2,4,6,1,3} for(j=2; j<A.length; j++) { key= A[j] i=j-1 while(i>0 && A[i]>key) { A[i+1]= A[i] i=i-1 } A[i+1]=key }
|
Merge-Sort(分治)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
A[]={5,2,4,6,1,3} q=1/2A.length n1=q,n2=A.length-q+1 for(i=0; i<n1; i++) { L[i]=A[i]; } for(j=0; j<n2; j++) { R[j]=A[j+q]; } L[n1+1]= ∞ R[n1+1]= ∞ i=j=1 for(k=0; k<A.length; k++) { if(L[i]<=R[j]) { A[k]=L[i] i=i+1 }else{ A[k]=R[j] j=j+1 } }
|
近期评论