沈阳航空航天大学课程设计报告
}
}
if(!*(q->ch+c+1+m))//串查完/ {
printf(\查找完成,已无匹配字符\\n\ break;
}
else { p=T->head;
for(a1=1;a1
p=p->next;q=p;
}
c=c+1;m=0;
}
}
}
生成一个其值等于chars的串T,成功返回int StrAssign(LString *T,char *chars) { int i,j,k,l,m=0; Chunk *p,*q;
i=strlen(chars); // i为串的长度 if(!i)
return 0;
1,否则返回0
沈阳航空航天大学课程设计报告
(*T).curlen=i; j=i/CHUNKSIZE;
// j为块链的结点数,块的个数 ,即行数
//不足一个块的,当成一个块即块数加1
if(i%CHUNKSIZE>0)
j++;
printf(\长度是%d\\n行数是%d\\n\for(k=0;k p=(Chunk*)malloc(sizeof(Chunk)); if(!p) return 0; if(k==0) (*T).head=q=p; else { q->next=p; q=p; } for(l=0;l { q->ch[l]=chars[m];m++;} } if(!*chars) { (*T).tail=q; q->next=NULL; for(;l *(q->ch+l)=blank; 沈阳航空航天大学课程设计报告 } return 1; 输出字符串T void StrPrint(LString T) { } int i=0,j; Chunk *h; h=T.head; while(i printf(\ for(j=0;j if(*(h->ch+j)!=blank) // 不是填补空余的字符 { } printf(\h=h->next; printf(\i++; 沈阳航空航天大学课程设计报告 课程设计总结: 指导教师评语: 指导教师(签字): 年 月 日 课程设计成绩 沈阳航空航天大学课程设计报告 源代码 #include #define CHUNKSIZE 4 #define n 26 char blank = '#'; // 全局变量,用于填补空余 typedef struct Chunk { char ch[CHUNKSIZE]; struct Chunk *next; }Chunk; typedef struct { Chunk *head,*tail; int curlen; }LString; void InitString(LString *T)// 初始化(产生空串)字符串T。 { (*T).curlen=0; (*T).head=NULL; (*T).tail=NULL; } int StrAssign(LString *T,char *chars)// 生成一个其值等于chars的串T, 成功返回1,否则返回0 { int i,j,k,l; Chunk *p,*q; i=strlen(chars); // i为串的长度 if(!i||strchr(chars,blank)) // 串长为0或chars中包含填补空余的字符 return 0; (*T).curlen=i; j=i/CHUNKSIZE; // j为块链的结点数,块的个数 if(i%CHUNKSIZE) //不足一个块的,当成一个块即块数加1 j++; printf(\长度是%d\\n行数是%d\\n\ for(k=0;k

