冒泡排序-选择排序-数据类型

196 阅读3分钟

冒泡排序

```
/*
        冒泡排序:给数组中所有数字进行排序==>每相邻的两个元素进行大小比较排列顺序
    */

    // var arr = [1, 2, 3, 4, 5]
    /*
        2 1 3 4 5
        2 3 1 4 5
        2 3 4 1 5
        2 3 4 5 1

        3 2 4 5 1
        3 4 2 5 1
        3 4 5 2 1

        4 3 5 2 1
        4 5 3 2 1
        
        5 4 3 2 1

    */

    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[0] < arr[1]) {
    //         var max = arr[0]
    //         arr[0] = arr[1]
    //         arr[1] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[1] < arr[2]) {
    //         var max = arr[1]
    //         arr[1] = arr[2]
    //         arr[2] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[2] < arr[3]) {
    //         var max = arr[2]
    //         arr[2] = arr[3]
    //         arr[3] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[3] < arr[4]) {
    //         var max = arr[3]
    //         arr[3] = arr[4]
    //         arr[4] = max
    //     }
    // }
    // console.log(arr)






    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[0] < arr[1]) {
    //         var max = arr[0]
    //         arr[0] = arr[1]
    //         arr[1] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[1] < arr[2]) {
    //         var max = arr[1]
    //         arr[1] = arr[2]
    //         arr[2] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[2] < arr[3]) {
    //         var max = arr[2]
    //         arr[2] = arr[3]
    //         arr[3] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[3] < arr[4]) {
    //         var max = arr[3]
    //         arr[3] = arr[4]
    //         arr[4] = max
    //     }
    // }
    // console.log(arr)








    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[0] < arr[1]) {
    //         var max = arr[0]
    //         arr[0] = arr[1]
    //         arr[1] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[1] < arr[2]) {
    //         var max = arr[1]
    //         arr[1] = arr[2]
    //         arr[2] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[2] < arr[3]) {
    //         var max = arr[2]
    //         arr[2] = arr[3]
    //         arr[3] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[3] < arr[4]) {
    //         var max = arr[3]
    //         arr[3] = arr[4]
    //         arr[4] = max
    //     }
    // }
    // console.log(arr)



    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[0] < arr[1]) {
    //         var max = arr[0]
    //         arr[0] = arr[1]
    //         arr[1] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[1] < arr[2]) {
    //         var max = arr[1]
    //         arr[1] = arr[2]
    //         arr[2] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[2] < arr[3]) {
    //         var max = arr[2]
    //         arr[2] = arr[3]
    //         arr[3] = max
    //     }
    // }
    // console.log(arr)
    // for (var i = 0; i < arr.length; i++) {
    //     if (arr[3] < arr[4]) {
    //         var max = arr[3]
    //         arr[3] = arr[4]
    //         arr[4] = max
    //     }
    // }
    // console.log(arr)
    
    
    
    var arr = [1, 2, 3, 4]
    for (var j = 1; j < arr.length; j++) {
        for (var i = 0; i < arr.length - j; i++) {
            if (arr[i] < arr[i + 1]) {
                var max = arr[i]
                arr[i] = arr[i + 1]
                arr[i + 1] = max
            }
        }
        console.log(arr)
    }
```

选择排序

var arr=[1,2,3,4]

for(var b=0;b<arr.length-1;b++){
    var maxIndex=b
    for(var a=b+1;a<arr.length;a++){
        if(arr[b]<arr[a]){
            maxIndex=a
        }
    }  
    var max=arr[b]
    arr[b]=arr[maxIndex]
    arr[maxIndex]=max
}
console.log(arr)

数据类型

数据类型:
    基础类型 - 简单类型
        number/string/Boolean/undefined/null
    引用类型 - 复杂类型
        object:
            {}/[]/function
 基础类型和引用类型的区别:
     1.在内存中储存方式不同:
         基础类型将数据储存在【栈内存】空间中
         引用类型将数据储存在【堆内存】空间中,将堆内存中内存地址存储在栈内存中
     2.在赋值的时候不同:
         基础类型赋值的时候,是将栈中存储的数据,复制一份放在另一个变量空间中
         引用类型赋值的时候,是将栈中存储的内存地址,复制一份放在另一个变量空间中 - 两个变量共用一个堆内存的地址
     3.在比较的时候不同:
         基础类型,相等比较,忽略类型,比较数据是否相等;全等比较,先比较类型是否相等,相等后再比较数据是否相同
         引用类型,无论相等比较还是全等比较,都是在比较栈中存储的内存地址是否相同