美文网首页
算法学习-排序-选择排序

算法学习-排序-选择排序

作者: MacXin | 来源:发表于2018-02-11 12:03 被阅读0次

原理:

选择排序是一种原址比较算法,大致思路是在第一轮迭代中找到数据结构中的最小值并将其放置在第一位,第二轮迭代中找到第二小的值并将其放在第二位,以此类推,与冒泡排序一样,都含有嵌套的两个循环,这导致了二次方的复杂度。

复杂度:

时间复杂度为O(n²);

javaScript:

function selectSort(arr, length){  

    let indexMin;

    for(let i=0; i<length-1;i++){

        indexMin = i;

        for(let j = i+1; j<length;j++){

            if(arr[indexMin] > arr[j]){

                indexMin = j;

            }

        }

        if(i != indexMin){

          let changeA = arr[i];

          arr[i] = arr[indexMin];

          arr[indexMin] = changeA;

        }

    }

    return arr;

}

function createArr(size){

  results = [];

  for(let i=0; i< size; i++){

    results[i] = Math.floor(Math.random()*100);

  }

  return results;

}

let testArr = createArr(10);

console.log(testArr);

let testResults = selectSort(testArr, testArr.length);

console.log(testResults);

相关文章

网友评论

      本文标题:算法学习-排序-选择排序

      本文链接:https://www.haomeiwen.com/subject/jcpktftx.html