数据结构与算法的JavaScript描述——排序算法(2)

数据结构与算法的JavaScript描述——排序算法(1)

说明:以下部分均为《数据结构与算法的JavaScript描述》学习内容及笔记。

基本排序算法

1、冒泡排序
function bubbleSort(){
    var numEle=this.dataStore.length;
    var temp;
    for(var outer=numEle;outer>=2;outer--){
        for(var inner=0;inner<outer-1;inner++){
            if(this.dataStore[inner]<this.dataStore[inner+1]){
                swap(this.dataStore,inner,inner+1);
            }
        }
    }
}
2、选择排序
function selectSort(){
    var min,temp;
    for(var outer=0;outer<=this.dataStore.length-2;outer++){
        min=outer;
        for(var inner=outer+1;inner<=this.dataStore.length-1;inner++){
            if(this.dataStore[min]>this.dataStore[inner]){
                min=inner
            }
            swap(this.dataStore,outer,min);
        }
    }
}
3、插入排序
//插入排序有两个循环。外循环将数组元素挨个移动,而内循环则对外循环中选中的元素及它后面的那个元素进行比较。
//如果外循环中选中的元素比内循环中选中的元素小,那么数组元素会向右移动,为内循环中的这个元素腾出位置。
function insertSort(){
    var temp,inner;
    for(var outer=1;outer<=this.dataStore.length-1;outer++){
        temp=this.dataStore[outer];
        inner=outer;
        while(inner>0 && (this.dataStore[inner-1]>=temp)){
            this.dataStore[inner]=this.dataStore[inner-1];
            --inner;
        }
        this.dataStore[inner]=temp;
    }
}

4、排序速度:以上三种排序方法,插入最快,冒泡最慢

猜你喜欢

转载自blog.csdn.net/liyuxing6639801/article/details/79837361