陣列與排列

2021-10-09 01:47:39 字數 1897 閱讀 1547

上週學習內容總結

全域性作用域  區域性作用域(函式)
使用乙個變數  如果 自己的作用域有 就直接拿來用  如果自己的作用域沒有 沒有就一直往上一級作用域查詢 如果有就拿來用  直到找到  全域性作用域  如果有 就拿來用  如果沒有 -> 報錯  *** is not defined
修改乙個變數  如果 自己的作用域有 就直接修改  如果自己的作用域沒有 沒有就一直往上一級作用域查詢 如果有就直接修改  直到找到  全域性作用域  如果有 就修改全域性作用域的變數    如果沒有 那就在全域性先宣告乙個 再 賦值
函式自己呼叫自己 寫遞迴的時候  先寫 結束條件
var obj = {}空物件

- 增

obj.name = "jack"

obj["name"] = "rose"

- 修改

obj.name = "jack"

obj["name"] = "rose"

- 刪除

delete obj.name

delete obj["name"]

今日學習內容總結

所有資料型別分為兩個大類基本資料型別複雜資料型別

基本資料型別: number / string / boolean / undefined / null

複雜資料型別: object / function / array / …

建立乙個空陣列

var arr1 =

var arr1 = new array()

建立乙個長度為 10 的陣列

var arr2 = new array(10)

建立乙個有內容的陣列

var arr3 = new array(1, 2, 3)

var arr2 = [1, 2, 3]

儲存空間分成兩種 棧 和 堆

棧: 主要儲存基本資料型別的內容

堆: 主要儲存複雜資料型別的內容

基本資料型別是之間的比較

複雜資料型別是位址之間的比較

push 是用來在陣列的末尾追加乙個元素

pop 是用來刪除陣列末尾的乙個元素

unshift 是在陣列的最前面新增乙個元素

shift 是刪除陣列最前面的乙個元素

splice 是擷取陣列中的某些內容,按照陣列的索引來擷取

reverse 是用來反轉陣列使用的

sort 是用來給陣列排序的

concat 是把多個陣列進行拼接

join 是把陣列裡面的每一項內容鏈結起來,變成乙個字串

使用 for 迴圈來迴圈陣列,因為 for 迴圈我們也可以設定成 0 ~ n 順序增加

這個行為叫做 遍歷

先遍歷陣列,讓挨著的兩個進行比較,如果前乙個比後乙個大,那麼就把兩個換個位置。

陣列遍歷一遍以後,那麼最後乙個數字就是最大的那個了。

然後進行第二遍的遍歷,還是按照之前的規則,第二大的數字就會跑到倒數第二的位置。

以此類推,最後就會按照順序把陣列排好了。

例如:將陣列進行排列

var arr =[5

,39,15

,80,65

,25,45

]for

(k =

0; k <= arr.length; k++)}

} console.

log(arr)

;

陣列與排序 第k個排列

給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列。說明 給定 n 的範圍是 1,9 給定 k 的範圍是 1,n 示例 1 輸入 n 3,k ...

隨機排列陣列

再次翻出演算法導論,隨機翻倒了隨機排列陣列這個部分,感覺數學是如此神奇!首先,何謂隨機排列陣列。隨機排列陣列即通過排列給定的輸入陣列使陣列元素的排列隨機化,例如乙個陣列a n 其中元素為的值為,那麼對陣列進行隨機排列,顯然是有n!次不同的排列,並且每一次的排列都不一樣。如何把陣列元素排列隨機化呢?乙...

逆序排列陣列

include using namespace std 這個只是逆序輸出而已,並沒有改變陣列。void reversedorderarray int arr 10 void array int arr 10 void reversedorderarray int arr 10 for i 0 i 1...