SDS API¶
表 2-2 列出了 SDS 的主要操作 API 。
表 2-2 SDS 的主要操作 API
函数 |
作用 |
时间复杂度 |
---|---|---|
|
创建一个包含给定 C 字符串的 SDS 。 |
O(N) , |
|
创建一个不包含任何内容的空 SDS 。 |
O(1) |
|
释放给定的 SDS 。 |
O(1) |
|
返回 SDS 的已使用空间字节数。 |
这个值可以通过读取 SDS 的 |
|
返回 SDS 的未使用空间字节数。 |
这个值可以通过读取 SDS 的 |
|
创建一个给定 SDS 的副本(copy)。 |
O(N) , |
|
清空 SDS 保存的字符串内容。 |
因为惰性空间释放策略,复杂度为 O(1) 。 |
|
将给定 C 字符串拼接到 SDS 字符串的末尾。 |
O(N) , |
|
将给定 SDS 字符串拼接到另一个 SDS 字符串的末尾。 |
O(N) , |
|
将给定的 C 字符串复制到 SDS 里面, 覆盖 SDS 原有的字符串。 |
O(N) , |
|
用空字符将 SDS 扩展至给定长度。 |
O(N) , |
|
保留 SDS 给定区间内的数据, 不在区间内的数据会被覆盖或清除。 |
O(N) , |
|
接受一个 SDS 和一个 C 字符串作为参数, 从 SDS 左右两端分别移除所有在 C 字符串中出现过的字符。 |
O(M*N) , |
|
对比两个 SDS 字符串是否相同。 |
O(N) , |