壓縮欄位
A. c語言求助:請編寫一個字元串壓縮程序,將字元串中連續出席的重復字母進行壓縮,並輸出壓縮後的字元串。
用下面的代碼給你提供個思路。這代碼連續字元不得超過9個……
#include "stdio.h"
void main(void){
char a[1000]="gcccddecc";
int i,j,k,n;
printf("Type an integer(a~z)...\nStr=");
gets(a);
for(k=i=0;a[i];i++){
for(j=i+1,n=0;a[i]==a[j];j++) n++;
if(n){
a[k++]=n+'1';
a[k++]=a[--j];
i+=n;
}
else a[k++]=a[i];
}
a[k]='\0';
printf("The result = %s.\n",a);
}
B. 字元串解壓縮
剛才編成了壓縮的程序,不好意思,現在的可以解壓了。
程序沒有給你編寫讀寫文件的內容,文件讀寫自已去編,那個相對就簡單了,程序只介紹了實現基本功能的內容。你可以輸入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. 字元串壓縮屬於什麼,視頻音頻壓縮屬於
一般來說網上可以找到相關的信息,你可以去看一下。
D. 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);
}
E. 字元串如何壓縮
去網上搜索免費代碼,這年代還自己寫通用代碼,又浪費時間又浪費精力————前提,別拿別人的免費代碼做商業用途。
F. 如何壓縮mongodb文本欄位
有可能你添加數據的速度比存儲價格下降的速度來得更快,你花費在存儲上的凈支出實際上正在上升。你的內部成本也可能需要包括管理等因素,因此它們的價格可能會比商品市場價格高出很多。換句話說,你仍然需要尋求新的方式以減少您對存儲的需求。
磁碟存儲的大小是一個需要考慮的因素,當然還有其他需要考慮的。磁碟I/ O延遲是由在旋轉存儲上尋道時間為主導。通過降低數據的大小,用更少的磁碟尋道檢索一定量的數據是必要的,這樣磁碟I / O吞吐量將得到改善。對於RAM而言,一些壓縮格式可以不用解壓在內存中的數據。在這樣的情況下,更多的數據可以放在RAM中,從而提高了性能。
G. 有誰清楚SQL語言在ACCESS中如何創建Unicode壓縮的欄位
CREATE TABLE 表名 (欄位1 CHARACTER 50 NOT NULL WITH COMPRESSION)
其中 WITH COMPRESSION 就是壓縮屬性
H. c++怎麼壓縮字元串
一個個讀入字元,記住當前一個和上一個
如果當前和上一個相同,計數加一
不同那麼把上一個和計數放入結果字元串,上一字元值替換成當前,計數設置為1
接收到換行或者eof時結束程序並輸出
I. 用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();
}
}