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

📄 func5-3.cpp

📁 配合严蔚敏的数据结构的辅导书
💻 CPP
字号:
 // func5-3.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=0,i=0; // k记尚未配对的左括号个数
   SString ch,c1,c2,c3;
   StrAssign(c1,","); // c1=','
   StrAssign(c2,"("); // c2='('
   StrAssign(c3,")"); // c3=')'
   n=StrLength(str); // n为串str的长度
   do // 搜索最外层(k=0时)的第1个逗号
   { ++i;
     SubString(ch,str,i,1); // ch为串str的第i个字符
     if(!StrCompare(ch,c2)) // ch='('
       ++k; // 尚未配对的左括号个数+1
     else if(!StrCompare(ch,c3)) // ch=')'
       --k; // 尚未配对的左括号个数-1
   }while(i<n&&StrCompare(ch,c1)||k!=0); // i小于串长且ch不是最外层的','
   if(i<n) // 串str中存在最外层的',',它是第i个字符
   { SubString(hstr,str,1,i-1); // hstr返回串str','前的字符
     SubString(str,str,i+1,n-i); // str返回串str','后的字符
   }
   else // 串str中不存在','
   { StrCopy(hstr,str); // 串hstr就是串str
     ClearString(str); // ','后面是空串
   }
 }

⌨️ 快捷键说明

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