h*****n 发帖数: 209 | 1 有两种方案,一种是用array来存放字符串,另一种是用linked list来存放字符串。
用array的话,访问string里面的某个字符会很快,但是执行两个字符串相加操作的时
候会比较慢。
用linked list的话,它访问string的某个字符比较慢,但执行字符串相加操作会比较
快。
那这个string class到底如何设计比较好呢? |
t*****j 发帖数: 1105 | 2 我觉得用动态数组比较好。
先固定每个string的一定size,如果不够了用了重新申请下空间调整下大小。这样存取
字符串比较快,而且concat也只有空间不够的时候才多开销。
【在 h*****n 的大作中提到】 : 有两种方案,一种是用array来存放字符串,另一种是用linked list来存放字符串。 : 用array的话,访问string里面的某个字符会很快,但是执行两个字符串相加操作的时 : 候会比较慢。 : 用linked list的话,它访问string的某个字符比较慢,但执行字符串相加操作会比较 : 快。 : 那这个string class到底如何设计比较好呢?
|
Z*****Z 发帖数: 723 | 3 a linked list of array objects?
【在 h*****n 的大作中提到】 : 有两种方案,一种是用array来存放字符串,另一种是用linked list来存放字符串。 : 用array的话,访问string里面的某个字符会很快,但是执行两个字符串相加操作的时 : 候会比较慢。 : 用linked list的话,它访问string的某个字符比较慢,但执行字符串相加操作会比较 : 快。 : 那这个string class到底如何设计比较好呢?
|
h*****n 发帖数: 209 | 4 a linked list of char array?
【在 Z*****Z 的大作中提到】 : a linked list of array objects?
|
h*****n 发帖数: 209 | 5 but it is still slow for string concatenation operation.
【在 t*****j 的大作中提到】 : 我觉得用动态数组比较好。 : 先固定每个string的一定size,如果不够了用了重新申请下空间调整下大小。这样存取 : 字符串比较快,而且concat也只有空间不够的时候才多开销。
|
d**e 发帖数: 6098 | 6 所以有得有失,不能各方面都取到最好。
我觉得看要求办事了
【在 h*****n 的大作中提到】 : but it is still slow for string concatenation operation.
|