代码改变世界

JS插入排序算法

  沐海  阅读(3309)  评论(0编辑  收藏  举报
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的程序先。

 

 

 

 

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!
点击右上角即可分享
微信分享提示