冒泡排序,選擇排序,插入排序原理

1.冒泡排序code

   依次比較相鄰的兩個值,若是後面的比前面的小,則將小的元素排到前面。依照這個規則進行屢次而且遞減的迭代,直到順序正確。blog

時間複雜度,空間複雜度,穩定性排序

var arr = [10,3,6,2,4,1,8,7,9]
function sort (){
var temp =0
for( let i= 0 ;i <arr.length; i++){
for(let j = 0; j<arr.length-1;j++){
if(arr[j] > arr[j+1]){
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
return arr
}
pp = sort(arr)
console.log(pp)
 

2.選擇排序   io

  選擇排序的思想是:把每個數都與第一個數比較,若是小於第一個數,就把它們交換位置;這樣一輪下來,最小的數就排到了最前面;重複n-1輪,就實現了選擇排序console

選擇排序和冒泡排序思想上有些相近function

var arr = [10,3,6,2,4,1,8,7,9]
var temp =0
function sort(arr) {
for(var i = 0;i<arr.length; i++){
temp = arr[i]
for(var j= i+1; j < arr.length; j++) {
if(temp > arr[j]) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
return arr
}
pp = sort(arr)
console.log(pp)

 

3.插入排序class

  將n個元素的數列分爲已有序和無序兩個部分。sort

  數列:{a1,a2,a3,a4,…,an}di

  將該數列的第一元素視爲有序數列,後面都視爲無序數列:時間

  {{a1},{a2,a3,a4,…,an}}

  將無序數列中的元素插入到有序數列的對應位置,插入前經過比大小的方式找到其在有序數列中的對應位置。

相關文章
相關標籤/搜索