顺序串算法

从串S中删除其中等于字符c的所有字符

void Delete(SqString &S,char c)
{
	int i,j;
	for(i=0;i<S.length;i++)
	{
		if(S.data[i]==c)
		{
			for(j=i;j<S.length-1;j++)
			{
				S.data[j]=S.data[j+1];
			}
			S.length--;
		}
	}
}


//上述算法效率很低

void DelAll(SqString &S,char c)
{
	int k=0,i=0;
	while(i<S.length)
	{
		if(S.data[i]==c)
			k++;
		else
			S.data[i-k]=S.data[i];
	}
	S.length=S.length-k;
}


原文地址:https://www.cnblogs.com/keanuyaoo/p/3294090.html