【完美el源码】【码支付网站源码】【博客源码购买】lzw c 源码

2025-01-19 11:18:43 来源:快乐涨跌源码 分类:探索

1.lzw c Դ?源码完美el源码?

lzw c 源码

lzw c Դ??

       以下是哈夫曼编码

       #include<iostream>

       #include<math.h>

       #include<string>

       #include<iomanip>

       using namespace std;

       int n;

       int isin(string str,char a)

       {

        int temp=0;

        for(int i=0;i<str.length();i++)

        {

        if(str[i]==a) temp=1;

        }

        return temp;

       }

       void bubble(double p[],string sign[])//排序

       {

        for(int i=0;i<n-1;i++)

        {

        for(int j=i+1;j<n;j++)

        {

        if(p[i]<p[j])

        {

        double temp=p[i];

        p[i]=p[j];

        p[j]=temp;

        string m=sign[i];

        sign[i]=sign[j];

        sign[j]=m;

        }

        }

        }

       }

       void huff(double tempp[],string tempstr[])

       {

        double p[][];

        string sign[][];

        sign[0][i]=tempstr[i]; //符号放在sign数组中

        for(int i=0;i<n;i++)

        {

        p[0][i]=tempp[i]; //p数组放对应的概率(第1列中)

        }

        for(i=0;i<n-1;i++)

        {

        bubble(p[i],sign[i]); //第一次排序

        for(int j=0;j<n-2-i;j++)

        {

        p[i+1][j]=p[i][j]; //前n-2-i个概率重新放在p数组中(是数组的第2列中)

        sign[i+1][j]=sign[i][j];

        }

        p[i+1][j]=p[i][j]+p[i][j+1];//第一次两个最小概率求和

        sign[i+1][j]=sign[i][j]+sign[i][j+1];//符号跟随

        for(j=n-1-i;j<n;j++)

        {

        p[i+1][j]=0;

        }

        }

        string final[];

        for(i=n-2;i>=0;i--)

        {

        for(int k=0;k<n;k++)

        {

        if(isin(sign[i][n-2-i],sign[0][k][0])) final[k]+="0";

        if(isin(sign[i][n-1-i],sign[0][k][0])) final[k]+="1";

        }

        }

        cout<<setw(9)<<"哈弗曼编码如下:"<<endl;

        for(i=0;i<n;i++)

        {

        cout<<setw(7)<<sign[0][i]<<setw(7)<<p[0][i]<<setw()<<final[i]<<

        setw(7)<<final[i].length()<<endl;

        }

       }

       void main()

       {

        char a[];

        cout<<"该字符串符号为:";

        cin>>a;

        string s=a;

        n=s.length();

        char b[][2];

        for(int i=0;i<n;i++)

        {

        b[i][0]=a[i];

        b[i][1]='\0';

        }

        string str[];

        for(i=0;i<n;i++)

        {

        str[i]=b[i];

        }

        double tempp[];

        cout<<"字符概率依次为:";

        for(i=0;i<n;i++)

        {

        cin>>tempp[i];

        }

        huff(tempp,str);

       }

更多资讯请点击:探索

热门资讯

盗号源码_2020盗号源码

2025-01-19 10:322116人浏览

ftp源码

2025-01-19 09:44973人浏览

源码变

2025-01-19 09:132451人浏览

推荐资讯

黎東部貝卡谷地遭以軍襲擊 已致63人死亡

據黎巴嫩方面消息,以軍當地時間28日晚對黎巴嫩貝卡谷地拉姆鎮、尤寧鎮、哈菲爾鎮、阿拉克鎮等多處村鎮發動襲擊,截至目前已造成63人死亡、110餘人受傷。以色列方面對此暫無回應。來源:央視新聞)責任編輯:

小程序源码模板_小程序源码模板下载

1.小程序是做模板的好还是定制的好2.小程序源码怎么用小程序源码如何用3.小程序开发定制与模板开发区别是什么4.新手如何制作一个小程序,模板类好还是源码开发好?小程序是做模板的好还是定制的好 其实

源码有什么用

1.源代码有什么用?2.知道源代码有什么好处?要源代码用了干什么?3.源代码 是什么意思4.什么是网页源码,网页源码有什么用?5.源码是什么源代码有什么用? 1. 源代码的首要作用是生成目标代码,