導航:首頁 > 文件處理 > 字元串壓縮

字元串壓縮

發布時間:2022-01-22 03:11:58

① c語言字元串如何壓縮

話說B數組不應該是整形呀,不然不能保存字母了。以下是我的代碼。。。

#include<iostream>

#include<string.h>

#include<stdio.h>

usingnamespacestd;


voidyasuo(chara[],charb[])

{

intcount=1,p=0;

for(inti=0;i<strlen(a);i++)

if(a[i]==a[i+1])

count++;

elseif(count>2)

{

b[p++]=(char)(count+'0');

b[p++]=a[i];

count=1;

}

elseif(count==2)

{

b[p++]=a[i];

b[p++]=a[i];

count=1;

}

else

b[p++]=a[i];

}

voidprintB(charb[])

{

cout<<b<<endl;

}

voidbackB(charb[])

{

for(inti=0;i<strlen(b);i++)

if(b[i]<='9'&&b[i]>='3')

{

for(intj=0;j<(int)(b[i]-'0');j++)

cout<<b[i+1];

i++;

}

else

cout<<b[i];

cout<<endl;

}

intmain()

{

chara[1000]={0},b[1000]={0};

gets(a);

yasuo(a,b);

printB(b);

backB(b);

}

② 字元串如何壓縮

去網上搜索免費代碼,這年代還自己寫通用代碼,又浪費時間又浪費精力————前提,別拿別人的免費代碼做商業用途。

③ 如何對md5加密後的字元串進行壓縮

你這個壓縮有什麼需求嗎?你給的這段字元串其實用目前的壓縮演算法的話,基本上是不會減少你的字串的長度。你是需要知道具體的演算法呢,還是希望對MD5的結果有所改進。

④ 字元串壓縮 C#

唔.0 分,給你提示好了。

首先不推薦壓縮字元串,基於「時間換空間」或者「空間換時間」的程序設計定律,相對壓縮後得到的內存空間,浪費的CPU開銷比較起來得不償失。尤其是string這一特殊引用類型。

硬要體驗的話,可以嘗試使用Encoding,將字元串轉換為byte流,對byte流壓縮後保存。

⑤ 用java實現,壓縮字元串,例如aaaawwwwe輸出4a5we

publicStringcountChar(Stringstr){
char[]aa=str.toCharArray();
int[]ch=newint[255];//以擴展ascII碼的長度定義整型數組,用於計數,比如a出現一次時,ch[97]就加1,附ascII碼表http://wenku..com/link?url=QtgixHAgMzyo_Ts_bLburo-qcOX7FAhR8vl96BrPbWA05FAbW-SCCARIZfjIBWxDzi-FmWonFjnoRBKMA8jQ1Wg3FDyG_6NZwbf4SZ4IH4C
for(inti=0;i<aa.length;i++){
chara=aa[i];
ch[a]++;//char型變數用於整型時,java取其ascII碼
}
Stringresult="";
//計數完成後遍歷ch取計數值
for(inti=0;i<ch.length;i++){
if(ch[i]>0){
result+=ch[i];//取計數值
charc=i;//取ascII碼對應的字元
result+=String.valueOf(c);
}
}
returnresult;
}

⑥ 使用C語言實現字元串的壓縮。

/*
原串:111225555
壓縮後:312245
原串:333AAAbbbb
壓縮後:333A4b
原串:ASXDCdddddd
壓縮後:1A1S1X1D1C6d
Pressanykeytocontinue
*/
#include<stdio.h>
#include<string.h>

char*CompressStr(chars[]){
chart[255];
inti=0,j,k=0;
while(s[i]){
j=i+1;
while(s[i]==s[j])++j;
t[k++]=j-i+'0';
t[k++]=s[i];
i=j;
}
t[k]='';
strcpy(s,t);
returns;
}

intmain(void){
chari,s[][20]={"111225555","333AAAbbbb","ASXDCdddddd"};
for(i=0;i<3;++i){
printf("原串:%s ",s[i]);
printf("壓縮後:%s ",CompressStr(s[i]));
}
return0;
}

⑦ 用java如何實現壓縮字元串

package javase1.day02;
/**
* 1)一種字元串壓縮演算法
* str ="aaaabbccccddeaaa"
* 壓縮為:"4a2b4c2d1e3a"
* 原理實現:
* str = "aaaabbccccddeaaa"
*
* c = str.charAt(i)//c是每個字元
* 1) 初始化
* StringBuilder buf = new StringBuilder();
* int count = 0;代表相同的字元個數
* char ch = str.charAt(0);代表正在統計的相同字元'a'
* 2) 從i=1開始迭代每個字元
* c = str.charAt(i);//c是每個當前字元
* 3) 檢查當前字元c與被統計ch是否一致
* 如果一致 count++
* 否則(不一致)
* 向緩沖區buf增加count+ch
* count=0,ch=c;
* 3)沒有下個字元就結束
* 4)還有字元串嗎?回到2)
*
* 2)實現還原演算法
* str = "4a2b4c2d1e3a";
* i
*/
public class Demo5 {
public static void main(String[] args) {
String s = comp("aaaawwwwe");
System.out.println(s);
// System.out.println(decomp(s));

}
public static String comp(String str){
int i = 1;
StringBuilder buf = new StringBuilder();
int count = 1;
char ch = str.charAt(0);
for(;;){
char c = i==str.length() ? '\10':str.charAt(i);
if(c==ch){
count++;
}else{
if(count == 1)
buf.append(ch);
else
buf.append(count).append(ch);
count=1;
ch = c;
}
i++;
if(i==str.length()+1){
break;
}
}
return buf.toString();

}
}

⑧ 字元串解壓

剛才編成了壓縮的程序,不好意思,現在的可以解壓了。
程序沒有給你編寫讀寫文件的內容,文件讀寫自已去編,那個相對就簡單了,程序只介紹了實現基本功能的內容。你可以輸入3A4B7D測試。
void
main()
{int
m=0;int
j=0;
//string
a;
//char
c[111];
char
a[111];
char
b[111];
scanf("%s",a);
for(int
i=0;a[i]!='\0';i++)
{
cout<<"a"<
1&&a[i]-'0'<9)
{
m=a[i]-'0';}
else{b[j]=a[i];j++;}
while(m>1)
{
b[j]=a[i+1];
j++;
m--;
}
}
cout<
評論
0
0
0
載入更多

⑨ c++怎麼壓縮字元串

一個個讀入字元,記住當前一個和上一個
如果當前和上一個相同,計數加一
不同那麼把上一個和計數放入結果字元串,上一字元值替換成當前,計數設置為1
接收到換行或者eof時結束程序並輸出

⑩ Java 字元串壓縮與解壓

給你提供個思想
首先你這不是物理上的壓縮,也就是說它是一個邏輯上的我們認同上的壓縮。
你需要寫一個演算法來對你所要處理的數據進行統計,然後按照演算法來改變結果。
最後達到一個後台的虛擬壓縮(實際上不是壓縮,只是演算法)。

閱讀全文

與字元串壓縮相關的資料

熱點內容
oracle導出表命令 瀏覽:901
怎麼寫域名加密 瀏覽:1001
手機文件壓縮出錯 瀏覽:516
如何登錄毒app 瀏覽:834
汽車中控台加密 瀏覽:862
海南農村信用社app如何開通簡訊 瀏覽:809
phpdns緩存 瀏覽:415
ipad騰訊視頻app如何播放本地視頻 瀏覽:990
蝦米伺服器關閉如何找到以前的歌 瀏覽:18
php自動建站 瀏覽:475
命令與征服3游俠網 瀏覽:970
騰訊雲買哪個地區伺服器 瀏覽:249
香港哪裡有app賣內地零食 瀏覽:683
編譯內核找不到工具鏈 瀏覽:453
java常見模式 瀏覽:504
典欣空調壓縮機 瀏覽:425
app如何認定許可權 瀏覽:855
兩個復數相除的角度計演算法則 瀏覽:590
電商類app開發怎麼收費 瀏覽:305
打造電子書反編譯工具 瀏覽:79