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

📄 4_25.cpp

📁 这是一个字符串替换算法
💻 CPP
字号:
#include "String1.h"
#include "String.h"
int Index(HString &S, HString &T, int pos) 
{
 HString sub;
 if (pos>0)
 {
	int m,n,i;
   n=Strlen(S); m=Strlen(T);  i = pos;
  while ( i <= n-m+1)
  {
   SubString(sub, S, i, m);
  if (StrCompare(sub,T) != 0)++i ;
  else return i ;
  }
 }
return 0;     
}
void replace(HString &S, HString &T, HString &V)
 {
	int m,n,pos,i;
	HString news,sub;
    char a[100]={""};
  n=Strlen(S);  m=Strlen(T);  pos = 1;
  StringAssign(news, a);  
  i=1;
   while ( pos <= n-m+1 && i) 
   {
	 i=Index(S, T, pos);
     if (i!=0) 
     {SubString(sub, S, pos, i-pos); // 不置换子串
       Concat(news, news, sub); 
       Concat(news, news, V);
       pos = i+m;
    }
   }
 SubString(sub,S, pos, n-pos+1);
 Concat(S, news, sub );
}
void main()
{
  HString S,T,V;
  char s1[100] ,s2[100],s3[100];
  puts("请输入三个字符串:");
  puts("输入主串s1:");
  gets(s1);
  puts("输入被替换串s2(包含在主串中):");
  gets(s2);
  puts("输入替换串s3(用它去替换主串s1中的s2串:");
  gets(s3);
  puts("\n\n主串s1为:");
  puts(s1);
  puts("被替换串s2为:");
  puts(s2);
  puts("替换串s3为:");
  puts(s3);
  StringAssign(S,s1);
  StringAssign(T,s2);
  StringAssign(V,s3);
  replace(S,T,V);
  puts("\n\n替换后的主串s1为:");
  puts(S.ch);
  }

⌨️ 快捷键说明

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