串的顺序存储结构-描述

串其实解释我们平常用的string字符串,它也是一种线性表结构,不同的是,普通的线性表一般都是针对单个元素的,而串一般针对的是多个元素的操作。

//串的顺序存储结构
class StringList
{
    private char[] _data;

    public StringList(char[] chars) {
        this.ValueTo(chars);
    }

    //创建空串
    public StringList() {
        this._data = null;
    }

    //串赋值为字符数组
    public void ValueTo(char[] chars) {
        if (chars == null) {
            this._data = null;
            return;
        }

        this._data = new char[chars.Length];
        for (int i = 0; i < chars.Length; i++)
        {
            _data[i] = chars[i];
        }
    }
}


可以看出,这里的串的数据域就是一个字符数组,数组的长度就是串的长度,因为c#的数组是可以重新定义大小的,所以分配到刚好的大小就好,也不用使用特殊符号来判定串的结束

有些语言的数组是不能重新定义大小的,所以扩大时会创建新的string(新的大小),缩小时以'\0'作为字符串的结束标志。


首页 我的博客
粤ICP备17103704号