?? main.cpp
字號:
#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<iomanip.h>
#include "FreqPair.h"
#include "Huffnode.h"
#include "HuffCode.h"
#include "Hufftree.h"
#include "SLList.h"
#include "FileAnalysis.h"
#include "buildSLList.h"
#include "buildHufftree.h"
#include "HuffEncode.h"
#include "HuffCodetoFile.h"
#include "HuffDecode.h"
void main(){
//////////////////////////////////////////////////////
//進(jìn)行文件分析,找出所用的字符個數(shù),并形成有用的頻率對
char * inputfile1="inputfile1.txt";
FreqPair *letter=new FreqPair[128];
int lettercount=0;
FileAnalysis(letter,lettercount);
cout<<"-----------------讀入文件inputfile1.txt-------------------\n";
/////////////////////////////////////////////////////
//利用文件分析得到的頻率對生成鏈表。
SLList *alist=new SLList;
alist=buildlist(letter,lettercount);
cout<<"-----------------建立鏈表alist完成------------------------\n";
////////////////////////////////////////////////////
//從鏈表生成霍夫曼樹。
HuffTree *htree;
htree=buildHufftree(alist);
cout<<"-----------------建立霍夫曼樹htree完成--------------------\n";
///////////////////////////////////////////////////
//從霍夫曼樹進(jìn)行編碼,存到hcode[]中,并保存到一個文件中。
huffcode *hcode=new huffcode[lettercount];
char * outputfile1="outputfile1.txt";
HuffEncode(htree,hcode,letter,outputfile1);
cout<<"-----------------編碼完成---------------------------------\n";
///////////////////////////////////////////////////
//將一個文件進(jìn)行編碼,并輸入到另一個文件中
char*f_in="inputfile1.txt";
char*f_out="inputfile2.txt";
HuffCodetoFile(f_in,f_out,hcode,lettercount);
cout<<"-----------------寫入編碼文件完成-------------------------\n";
////////////////////////////////////////////////////
//用霍夫曼樹從一個文件進(jìn)行譯碼,輸出到另一個文件。
char*fin="inputfile2.txt";
char*fout="outputfile2.txt";
HuffDecode(htree,fin,fout);
cout<<"-----------------譯碼完成---------------------------------\n";
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -