求用块链存储的串,存储一段英文,的程序代码,该如何处理

求用块链存储的串,存储一段英文,的程序代码
求用块链存储的串,存储一段英文,的程序代码
要求块链的大小不定,用动态分配内存,随着英文单词的大小而定
麻烦哪位大侠帮忙写一下

------解决方案--------------------
自己做个List<char>?

------解决方案--------------------
不知道楼主要的是不是这?
#include <iostream.h>
/*
串的块链存储:块的大小由存储时串的各个单词来动态决定。一个结点存储一个单词,并加以\0作为结点中单词的结束标志。
作者:zlz
日期:2010-4-13

*/
//结点结构体定义 
typedef struct cl
 {
char *ch;
struct cl *next;
 }CL;

//串的块链的初始化
 //输入:头指针
 //结果:头指针指向头结点

 void init(CL *&L)
 {
L=new CL;
L->next=0;
 }

 //建立串的块链
 //输入参数:指向头结点的指针,串
 //输出:结点存储一个单词,大小任意的串的块链
 void CharLink(CL *L,char *s)
 {
int i,k,n;
CL *p,*q;
i=0;
while(s[i]!='\0')
{
k=0;
while(s[i+k]!=' '&& s[i+k]!='\0') k++;
p=new CL;
p->ch=new char[k+1];
n=0;
while(s[i+n]!=' '&& s[i+n]!='\0') { p->ch[n]=s[i+n]; n++;}
p->ch[n]='\0';
if(L->next==0) {L->next=p;q=p;}
else
{ q->next=p;
q=p;
p->next=0;
}
i=i+k+1;
}
 }

//串块链的输出
 //输入参数:指向串块链的头指针L
 void print(CL *L)
 {
CL *p=L->next;
while(p)
{
cout<<p->ch<<" ";
p=p->next;
}
cout<<endl;
 }

 //主函数,调用各模块进行测试。
 void main()
 {
char *p="Academic Administration office of xihua University";
//char *p="if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the 'license' property of files named 'feature' properties'";
CL *cc;
init(cc);
CharLink(cc,p);
print(cc);
 }

------解决方案--------------------
探讨

自己做个List<char>?