第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

你好,在字符串中的replace(s,t1,t2)函數(shù),求解釋!

你好,在字符串中的replace(s,t1,t2)函數(shù),求解釋!

12345678_0001 2021-07-08 13:09:45
求兩個(gè)函數(shù),分別在順序和鏈?zhǔn)酱鎯?chǔ)方式下實(shí)現(xiàn)字符串的replace(s,t1,t2運(yùn)算。(在字符串s中,用t2代替所有的t1.舉例:若s=abcdef,t1=ab,t2=ww,則結(jié)果為wwcdef)。是數(shù)據(jù)結(jié)構(gòu)的題目。多謝了?。。?
查看完整描述

2 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

//順序存儲(chǔ)中替換
void myreplace(char *s,const char *t1,const char *t2)
{
//順序存儲(chǔ)就是數(shù)組
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);
}

//鏈?zhǔn)酱鎯?chǔ)中替換
struct cNode{
char c;
cNode *pNext;
};
//傳入鏈表的頭
void myreplace(cNode *pHead,const char *t1,const char *t2)
{
//首先將鏈表轉(zhuǎn)換為字符串
//定義一個(gè)臨時(shí)的數(shù)組,要足夠長,來轉(zhuǎn)換鏈表為字符串
char tmp[2048];
cNode *pwork = pHead;
int i;
memset(tmp,0x0,sizeof(tmp));
//循環(huán)是將鏈表轉(zhuǎn)換為字符串
for ( i = 0 ; i < 2048 ; i++ )
{
if ( pwork )
{
tmp[i] = pwork->c;
pwork=pwork->pNext;
}
else
{
break;
}
}
//調(diào)用上面替換字符串的方法替換
myreplace(tmp,t1,t2);
//重新恢復(fù)替換后的鏈表
pwork = pHead;
//循環(huán)是將字符串轉(zhuǎn)換為鏈表
for ( i = 0 ; i < strlen(tmp) ; i++ )
{
if ( pwork )
{
pwork->c = tmp[i];
if ( pwork->pNext == NULL )
{ //如果鏈表的長度不夠容納替換后的字符串
//(通常發(fā)生在被替換字符串長度比用來替換的字符串長度短的情況下)
//則生成新的結(jié)點(diǎn)
pwork->pNext = (cNode *)malloc(sizeof(cNode));
pwork->pNext->pNext = NULL;
}
else
{
pwork = pwork->pNext;
}
}
}
}



查看完整回答
反對 回復(fù) 2021-07-11
  • 2 回答
  • 0 關(guān)注
  • 773 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)