JS插入排序算法


function insertSortArray(sort_Array,x){         //一趟排序的算法
for(var i=0;i<sort_Array.length;i++){
   if(sort_array[i]>=x){                    //找到插入點
    for (var j=sort_array.length; j>i; j--){   //后挪空出位置 
     sort_array[j]=sort_array[j-1]         
    }
    sort_array[i]=x;                             //插入
    break;                                      //任務結束,退出循環
   }
}
return sort_array;                                      //返回處理后的數組
}

function SortArrayByInsert(array){                      //主排序算法
var returnValue=new Array(1);                        //定義成功排序后的返回值,初始大小為一位
returnValue[0]=array[0];                               //在結果后置入排序前的第一位
for (i=1; i<array.length; i++){
   returnValue=insertSortArray(returnValue,array[i]);     //調用一趟排序函數,從第二個元素開始,依次使用
}
return returnValue;
}
 


 

C版:

 

void 

  InsertionSort(ElementType A[],int N)

{

int j,p;

Element Type tmp;

for(p=1;p<N;P++)

{

Tmp=A[p];

for(j=P;j>0&&A[j-1]>Tmp;j--)

A[j]=A[j-1];

A[j]=Tmp;

}

}


 

 

兩版比較,JS的方法不夠簡潔。利用C的算法寫JS的程序先。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM