字符串的replace(s,t1,t2)函数

来源:百度知道 编辑:UC知道 时间:2024/09/19 19:30:32
求两个函数,分别在顺序和链式存储方式下实现字符串的replace(s,t1,t2运算。(在字符串s中,用t2代替所有的t1.举例:若s=abcdef,t1=ab,t2=ww,则结果为wwcdef)。是数据结构的题目。
多谢了!!!

//顺序存储中替换
void myreplace(char *s,const char *t1,const char *t2)
{
//顺序存储就是数组
char *pwork = s;
int p = 0;
char *pleft = s,*pright = NULL;
for ( p = 0 ; p < strlen(s) ; p++ )
{
if ( strncmp(pwork,t1,strlen(t1)) == 0 )
{
pright = pwork+strlen(t1);
memset(pwork,0x0,strlen(t1));
break;
}
pwork++;
}
strcpy(s,pleft);
strcat(s,t2);
strcat(s,pright);
}

//链式存储中替换
struct cNode{
char c;
cNode *pNext;
};
//传入链表的头
void myreplace(cNode *pHead,const char *t1,const char *t2)
{
//首先将链表转换为字符串
//定义一个临时的数组,要足够长,来转换链表为字符串
char tmp[2048];
cNode *pwork = pHead;
int i;
memset(tmp,0x0,sizeof(tmp));
//循环是将链表转换为字符串
for ( i = 0 ; i < 2048 ; i++ )
{
if ( pwork )
{
tmp[i] = pwork->c;
pwork=pwork->pNext;
}
else
{
break;
}

开机出现的Pri Mater Hard Disk:S.M.A.R.T.Status BAD,backup an replace 编写函数int find(char s[],char t[])在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置 用指针实现两个字符串首尾连续的函数strcat(s,t) S.M.A.R.T. statues bad, replace or backup是什么意思? sec master hard disk:S.M.A.R.T steams BAO,backup and replace Pai Master Hard Disk:S.M.A.R.T.status BAD Backup and Replace 假设S, T都是用单链表表示的字符串,请设计一个算法,找出S中第一个不在T中出现的字符。 编写算法,将字符串t插入到字符串s中第i个字符位置 pri master hard disk:S.M.A.R.T. status BAD,backup and replace press F1 to resume pri master hard disk:S.M.A.R.T. status BAD,backup and replace press F2 to resume