定長順序串 C語言

2021-10-01 02:34:59 字數 2280 閱讀 7458

題目:

用定長順序串編寫下列演算法

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...