串的存储

阿Q注:以下均为C实现

定长顺序存储

// 定长顺序存储
#define MAXLEN 255
typedef struct
{
    /* data */
    char ch[MAXLEN];
    int length;
}SString;

堆分配存储

// 堆分配存储
typedef struct
{
    /* data */
    char *ch;
    int length;
}HString;

// 堆分配(动态分配),用 malloc()和free()管理(C语言)
/*
    HString S;
    S.ch = (char*)malloc(30*sizeof(char));  //创建
    free(S.ch);  //释放
*/ 

块链存储

// 块链存储
// 块链节点
#define ChunkSize 20
typedef struct Chunk
{
    /* data */
    char ch[ChunkSize];
    struct Chunk *next;
}Chunk,*ChunkList;

// 块链
typedef struct
{
    Chunk *head; // 头指针,指向第一个块
    Chunk *tail; // 尾指针,指向最后一个块
    int curlen;  // 记录串中字符个数
}Cstring;

评论

发送评论 编辑评论


				
上一篇
下一篇