字符串壓縮算法 c語(yǔ)言 使用C語(yǔ)言實(shí)現(xiàn)字符串的壓縮?
使用C語(yǔ)言實(shí)現(xiàn)字符串的壓縮?如果數(shù)據(jù)結(jié)構(gòu)是數(shù)組,主要解決兩個(gè)問題:一個(gè)是重復(fù)字符的計(jì)數(shù),另一個(gè)是數(shù)組壓縮后每個(gè)元素在數(shù)組中的位置。可以用一個(gè)指針遍歷數(shù)組,用另一個(gè)指針標(biāo)記存儲(chǔ)位置。字符串是由數(shù)字、字母
使用C語(yǔ)言實(shí)現(xiàn)字符串的壓縮?
如果數(shù)據(jù)結(jié)構(gòu)是數(shù)組,主要解決兩個(gè)問題:一個(gè)是重復(fù)字符的計(jì)數(shù),另一個(gè)是數(shù)組壓縮后每個(gè)元素在數(shù)組中的位置。可以用一個(gè)指針遍歷數(shù)組,用另一個(gè)指針標(biāo)記存儲(chǔ)位置。字符串是由數(shù)字、字母和下劃線組成的字符串。一般表示為s=“A1A2···an”(n>=0)。它是一種在編程語(yǔ)言中表示文本的數(shù)據(jù)類型。通常,整個(gè)字符串被用作操作對(duì)象,例如在字符串中搜索子字符串、查找子字符串、在字符串的某個(gè)位置插入子字符串以及刪除子字符串。當(dāng)且僅當(dāng)兩個(gè)字符串長(zhǎng)度相等且每個(gè)對(duì)應(yīng)位置的字符相等時(shí),兩個(gè)字符串才相等。設(shè)P和Q是兩條弦。在P中找到Q的第一個(gè)位置的操作稱為模式匹配。字符串的兩種最基本的存儲(chǔ)方法是順序存儲(chǔ)和鏈接存儲(chǔ)。
C語(yǔ)言求助:請(qǐng)編寫一個(gè)字符串壓縮程序,將字符串中連續(xù)出席的重復(fù)字母進(jìn)行壓縮,并輸出壓縮后的字符串?
使用以下代碼給您一個(gè)想法。此代碼不能超過(guò)9個(gè)連續(xù)字符
#include “stdio.h”
void main(void){
char a[1000]=“gcccddecc”
int i,j,k,n
printf(“Type an integer(a~z)…nStr=”)
獲?。╝)
for(k=i=0a[i]i){
for(j=i 1,n=0a[i]==a[j]j)n
if(n){
a[k]=n“1”
a[k]=a[--j
]i=n
}
否則a[k]=a[i
]}
a[k]=“0”
printf(“結(jié)果=%s.n”,a)