⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 func5-1.cpp

📁 高一凡的数据结构源码
💻 CPP
字号:
 // func5-1.cpp 广义表的书写形式串为SString类型,包括算法5.8。bo5-5.cpp和bo5-6.cpp调用
 #include"c4-1.h" // 定义SString类型
 #include"bo4-1.cpp" // SString类型的基本操作
 void sever(SString str,SString hstr) // 算法5.8改。SString是数组,不需引用类型
 { // 将非空串str分割成两部分:hstr为第一个','之前的子串,str为之后的子串
   int n,k,i; // k记尚未配对的左括号个数
   SString ch,c1,c2,c3;
   n=StrLength(str); // n为串str的长度
   StrAssign(c1,","); // c1=','
   StrAssign(c2,"("); // c2='('
   StrAssign(c3,")"); // c3=')'
   SubString(ch,str,1,1); // ch为串str的第1个字符
   for(i=1,k=0;i<=n&&StrCompare(ch,c1)||k!=0;++i) // i小于串长且ch不是','
   { // 搜索最外层的第一个逗号
     SubString(ch,str,i,1); // ch为串str的第i个字符
     if(!StrCompare(ch,c2)) // ch='('
       ++k; // 左括号个数+1
     else if(!StrCompare(ch,c3)) // ch=')'
       --k; // 左括号个数-1
   }
   if(i<=n) // 串str中存在',',它是第i-1个字符
   {
     SubString(hstr,str,1,i-2); // hstr返回串str','前的字符
     SubString(str,str,i,n-i+1); // str返回串str','后的字符
   }
   else // 串str中不存在','
   {
     StrCopy(hstr,str); // 串hstr就是串str
     ClearString(str); // ','后面是空串
   }
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -