SDS API

2018-02-24 15:46 更新

表 2-2 列出了 SDS 的主要操作 API 。


表 2-2 SDS 的主要操作 API

函數(shù) 作用 時間復(fù)雜度
sdsnew 創(chuàng)建一個包含給定 C 字符串的 SDS 。 O(N)?,?N?為給定 C 字符串的長度。
sdsempty 創(chuàng)建一個不包含任何內(nèi)容的空 SDS 。 O(1)
sdsfree 釋放給定的 SDS 。 O(1)
sdslen 返回 SDS 的已使用空間字節(jié)數(shù)。 這個值可以通過讀取 SDS 的?len?屬性來直接獲得, 復(fù)雜度為?O(1)?。
sdsavail 返回 SDS 的未使用空間字節(jié)數(shù)。 這個值可以通過讀取 SDS 的?free?屬性來直接獲得, 復(fù)雜度為?O(1)?。
sdsdup 創(chuàng)建一個給定 SDS 的副本(copy)。 O(N)?,?N?為給定 SDS 的長度。
sdsclear 清空 SDS 保存的字符串內(nèi)容。 因為惰性空間釋放策略,復(fù)雜度為?O(1)?。
sdscat 將給定 C 字符串拼接到 SDS 字符串的末尾。 O(N)?,?N?為被拼接 C 字符串的長度。
sdscatsds 將給定 SDS 字符串拼接到另一個 SDS 字符串的末尾。 O(N)?,?N?為被拼接 SDS 字符串的長度。
sdscpy 將給定的 C 字符串復(fù)制到 SDS 里面, 覆蓋 SDS 原有的字符串。 O(N)?,?N?為被復(fù)制 C 字符串的長度。
sdsgrowzero 用空字符將 SDS 擴展至給定長度。 O(N)?,?N?為擴展新增的字節(jié)數(shù)。
sdsrange 保留 SDS 給定區(qū)間內(nèi)的數(shù)據(jù), 不在區(qū)間內(nèi)的數(shù)據(jù)會被覆蓋或清除。 O(N)?,?N?為被保留數(shù)據(jù)的字節(jié)數(shù)。
sdstrim 接受一個 SDS 和一個 C 字符串作為參數(shù), 從 SDS 左右兩端分別移除所有在 C 字符串中出現(xiàn)過的字符。 O(M*N)?,?M?為 SDS 的長度,?N?為給定 C 字符串的長度。
sdscmp 對比兩個 SDS 字符串是否相同。 O(N)?,?N?為兩個 SDS 中較短的那個 SDS 的長度。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號