c++语言数据结构串的基本操作实例代码

  

<强> C语言数据结构串的基本操作实例代码

  

<强>输出结果:

  

 C + +语言数据结构串的基本操作实例代码

  

<>强实现代码:

        # include   使用名称空间性病;   typedef int状态;   #定义最大20   #定义好1   #定义错误0   #定义OVERLOE 2   typedef结构//堆分配表示串   {   char * ch;   int长度;   }HString;//===================================================================状态CreatHString (HString, H)//构造字符串   {   H。长度=0;   H。ch=(char *) malloc (Max * sizeof (char));   for (int i=0;我& lt;马克思;我+ +)   {   H.ch[我]=获取字符();   H.length + +;   如果(获取字符()==' \ n ')   打破;   }   还好;   }//CreatHString//===================================================================状态PrintHString (HString H)//输出所输入的字符串   {   如果(H。长度==0)   {   cout & lt; & lt;“空串!”& lt; & lt;endl;   返回错误;   }   其他的   for (int i=0;我& lt;H.length;我+ +)   cout & lt; & lt;H。ch[我]& lt; & lt;“”;   cout & lt; & lt;endl;   还好;   }//PrintHString//===================================================================状态HStringLength (HString H)//求字符串的长度   {   cout & lt; & lt;“您输入的字符串长度为:“& lt; & lt;endl;   cout & lt; & lt;H。长度& lt; & lt;endl;   还好;   }//HStringLength//===================================================================状态HStringCompare (HString H, HString T)//求两个字符串长度差(绝对值)   {   cout & lt; & lt;”两个字符串的长度差为:“& lt; & lt;endl;   int L;   L=H。长度- T.length;   如果(L<0)   cout & lt; & lt;- l & lt; & lt;endl;   如果(L>=0)   cout & lt; & lt;L & lt; & lt;endl;   还好;   }//HStringCompare//===================================================================状态ConcatHString (HString和年代,HString H, HString T)//链接H和T   {   如果(! (S。ch=(char *) malloc (H。长度+ T.length) * sizeof (char))))   退出(OVERLOE);   for (int i=0;我& lt;H.length;我+ +)   年代。ch[我]=H.ch[我];   年代。长度=H。长度+ T.length;   for (int j=H.length;j & lt;S.length;j + +)   年代。ch [j]=T.ch [j-H.length];   还好;   }//ConcatHString//===================================================================状态SubHString (HString和子,HString年代,int pos, int len)   {//用子返回串年代的pos第个字符起长度为len的子串   如果(pos<1 | | pos> S.length)   {   cout & lt; & lt;“输入的位置有误!”& lt; & lt;endl;   返回错误;   }   如果(len<0 | | len> S。长度- pos + 1)   {   cout & lt; & lt;“输入的长度有误!”& lt; & lt;endl;   返回错误;   }   如果(!兰)   {   Sub.ch==零;   Sub.length=0;   }   其他的   {   Sub.ch=(char *) malloc (len * sizeof (char));   for (int i=0;我& lt;兰;我+ +)   Sub.ch[我]=h (pos + i - 1);   Sub.length=兰;   }   还好;   }//SubHString//===================================================================状态ClearHString (HString, H)//将H清为空串   {   如果(H.ch)   {   免费(H.ch);   H。ch=零;   }   H。长度=0;   还好;   }//ClearHString//===================================================================void main ()   {   HString S H T;   cout & lt; & lt;“请输入一个字符串(按回车键结束):“& lt; & lt;endl;   CreatHString (H);   cout & lt; & lt;“现在串中的字符为:“& lt; & lt;endl;   PrintHString (H);   HStringLength (H);   cout & lt; & lt;“请再输入一个字符串(按回车键结束):“& lt; & lt;endl;   CreatHString (T);   HStringCompare (H T);   ConcatHString (S H, T);   cout & lt; & lt;“现在串中的字符为:“& lt; & lt;endl;   PrintHString(年代);   HString子;   int pos, len;   cout & lt; & lt;“请输入截取位置pos及长度len:“& lt; & lt;endl;   , cin祝辞的在pos祝辞祝辞兰;   SubHString(下标S、pos len);   cout & lt; & lt;“截取的子串为:“& lt; & lt;endl;   PrintHString(子);   ClearHString(年代);   cout & lt; & lt;“检验年代清空后是否为空:“& lt; & lt;endl;   PrintHString(年代);   }//主要      之前      


  

  

c++语言数据结构串的基本操作实例代码