数据结构实验(C语言):堆串
文章参考过网上的内容如有侵权请联系#includestdio.h#includestdlib.htypedefstruct{char*ch;//若是非空串则按串长分配储存区否则ch为NULLintlength;//串长}HString;intStrAssign(HStringT,char*chars){//生成一个其值等于串常量chars的串Tif(T.ch)free(T.ch);//释放T原有空间inti0;char*cchars;while(*c)//求chars的长度i{i;c;}if(!i){T.chNULL;T.length0;}else{if(!(T.ch(char*)malloc(i*sizeof(char))))exit(-1);for(intk0;ki;k)T.ch[k]chars[k];//复制T.lengthi;}return1;}voiddisp(HString S){inti0;while(S.length--){printf(%c,S.ch[i]);i;}printf(\n);}voidDelStr(HStringS,intstart,intlen){if(S.length0||startS.length||startlenS.length1)printf(ERROR\n);for(intistart;iS.length-len1;i){S.ch[i-1]S.ch[ilen-1];}S.lengthS.length-len;disp(S);}intmain(){HString S;char*Tabcdefghijk;printf(定义串S\n);StrAssign(S,T);disp(S);printf(截取从3号位开始长度为4的字串\n);DelStr(S,3,4);}

相关新闻