正在加载图片...
q->next=(LStrNode*)malloc(sizeof(LStrNode) ∥for∥复制串t q->next=NULL i//Conca STring* Sub string( STring s, Int start, int len返回一个串,其值等于串s从 start 位置起长为len的子串 p=malloc(sizeof(LStrNode)); q=p; for(r= s' start; start-,r=r->next),∥找到 start所对应的结点指针r for(Fl; K<=len; i++, rr->next) q->next=(LStrNode*)malloc(sizeof(LStrNode)); q=q->next }∥复制串t q->next=NULL return p, i//Sub String 4.22 void L String Concat( STring& tostring& s char c)∥用块链存储结构,把串s插入到 串t的字符c之后 p=t head while(p&&!(i= Find char(p,c))p=p>next,/查找字符c if(tp)∥没找到 t. taiI->next=s head t tai=stal,/把s连接在t的后面 q=p->next r=( Chunk*) malloc(sizeof( Chunk),∥将包含字符c的节点p分裂为两个 for(j=0j++)r->ch}#,∥原结点p包含c及其以前的部分 for(j=ij< CHUNKSIZE++)∥新结点r包含c以后的部分 chl=p->ch01 ch]#;/的后半部分和r的前半部分的字符改为无效字符#{ q->next=(LStrNode*)malloc(sizeof(LStrNode)); q=q->next; q->ch=r->ch; }//for //复制串 t q->next=NULL; return p; }//Concat LString * Sub_String(LString s,int start,int len)//返回一个串,其值等于串 s 从 start 位置起长为 len 的子串 { p=malloc(sizeof(LStrNode));q=p; for(r=s;start;start--,r=r->next); //找到 start 所对应的结点指针 r for(i=1;i<=len;i++,r=r->next) { q->next=(LStrNode*)malloc(sizeof(LStrNode)); q=q->next; q->ch=r->ch; } //复制串 t q->next=NULL; return p; }//Sub_String 4.22 void LString_Concat(LString &t,LString &s,char c)//用块链存储结构,把串 s 插入到 串 t 的字符 c 之后 { p=t.head; while(p&&!(i=Find_Char(p,c))) p=p->next; //查找字符 c if(!p) //没找到 { t.tail->next=s.head; t.tail=s.tail; //把 s 连接在 t 的后面 } else { q=p->next; r=(Chunk*)malloc(sizeof(Chunk)); //将包含字符 c 的节点 p 分裂为两个 for(j=0;j<i;j++) r->ch[j]='#'; //原结点 p 包含 c 及其以前的部分 for(j=i;j<CHUNKSIZE;j++) //新结点 r 包含 c 以后的部分 { r->ch[j]=p->ch[j]; p->ch[j]='#'; //p 的后半部分和 r 的前半部分的字符改为无效字符'#
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有