題目:
用定長順序串編寫下列演算法
1.將順序串r中所有值為ch1的字元轉換成ch2的字元。
2.將順序串r中所有字元按照相反次序仍存放在r中。
3.從順序串r中刪除其值等於ch的所有字元。
4.從順序串r1中第index個字元起求首次與串r2相同的子串的起始位置。
5.從順序串r中刪除所有與串r1相同的子串。
時間複雜度為任意空間複雜度為任意
**:
/*3-2*/
#include
#include
#define size 40
int num=0;
int index=0;
typedef
struct
seqstring;
void
create
(seqstring *s)
s->len=num;
}void
replace
(seqstring *s,
char e1,
char e2)}}
void
reverse
(seqstring *s)
s=res;
}void
delete
(seqstring *s,
char e)
s->ch[j]
=s->ch[j+temp];}
}}s->len=0;
int k=0;
while
(s->ch[k]
!='\0')if
(s->len==0)
}void
match
(seqstring *r1,seqstring *r2,
int m)
for(i=m-
1;ilen;i++)if
(k==r2->len)
}printf
("匹配失敗...\n");
}void
sdelete
(seqstring *s,seqstring *s)
int i;
for(i=
0;i<=s->len;i++)if
(s->ch[k+1]
=='\0'
&& s->ch[k]
=='\0'
) s->len--;}
}}}void
view
(seqstring s)
printf
("該串為:");
int i;
for(i=
0;i)printf
("\n");
}int
main()
運**況:
請您輸入--串的長度:
10請你輸入--串:
abcdeabcde
該串為:abcdeabcde
#第一步操作#
請您輸入--您想替換的字元:
a您想將它替換成:
e該串為:ebcdeebcde
#第二步操作#
您的順序串即將反轉...
該串為:edcbeebcde
#第三步操作#
請您輸入--您想刪除的字元:
e該串為:dcbbccd
#第四步操作#
請您輸入--串r1的長度:
4請你輸入--串r1:
cbbc
該串為:cbbc
請您輸入--串r2的長度:
2請你輸入--串r2:
bc該串為:bc
根據題意:
您想從r1的第幾個字元開始查詢:
2r1和r2正在進行匹配...
匹配成功...
將您上次輸入的數字當作位置「1」
那麼兩串匹配的起始位置為:2
#第五步操作#
顯示r:
該串為:dcbbccd
r的長度:7
顯示r1:
該串為:cbbc
r1的長度:4
正在去除r中與r1相同的子串...
顯示r:
該串為:dcd
hello world
program ended with exit code:
0
串的定長順序儲存C語言實現
串 字串 是由0個或多個字元組成的有限序列。0個字元時稱為空串。由乙個或多個空格組成的串 稱為空格串。串中字元的數目n稱為串的長度 串中任意個連續的字元組成的子串行稱為該串的字串 包含字串的串相應的稱為主串 通常稱字元在序列中的序號稱為該字元在串中的位置。字串在主串中的位置則以字串的第乙個字元在主串...
資料結構c語言實現定長順序串
標頭檔案 ifndef slhead h included define slhead h included include include include define maxlen 255 typedef char sstring maxlen 1 int strassign sstring s...
串的定長順序儲存表示與實現(c語言)
include pch.h include include include include define maxlen 225 define false 0 define true 1 字串順序表示 靜態儲存 typedef struct sstring 構造串 intstrassign sstri...