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