串的表示和實現javascript

來源:互聯網
上載者:User

標籤:

類似於線性表的順序儲存結構,用一組地址連續的儲存單中繼存放區串值的字元序列。下面我們以串聯接為例,講解一下這種儲存結構時串的操作。javascript內建有concat方法,該方法返回字串值,該值包含了兩個或多個提供的字串的串連。

       其實思路很簡單,就是將第二個串拼接在第一個串後面,代碼如下

從上面的演算法可以看出,在順序儲存結構中,實現串操作的原操作其實就是字元序列的複製。操作的時間複雜度是基於複製的字元序列的長度的。這裡我舉的例子是堆分配儲存的,還有一種是定長儲存。這兩者有什麼區別呢?

         定長分配就是在指定串的時候要指定一個長度限制,這樣超過的部分就會被截取;而堆分配儲存的儲存空間是在程式執行過程中動態分配的。比如我定義一個array卻不指定長度,其實就是預設採用的堆分配儲存。

由於數組的分配是定義的時候就要分配,但是要是分配的少了就會出現程式的運行和想象的不一樣或者是出現錯誤,要是分配的多了而用的少了又會出現資源的浪費,這個在大型的程式中是很浪費的,所以就要動態分配,動態分配在使用的時候再分配,知道要分配多少,這樣會使得空間的利用率比較高。



串的表示和實現javascript

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.