哈夫曼編碼與解碼 C語言實現

2021-08-31 12:05:01 字數 883 閱讀 4600

#include#include#include#include#define maxnum 60

typedef struct

huffnode;

typedef struct

huffcode;

huffnode ht[maxnum*2]; //存放哈夫曼樹

huffcode hcd[maxnum]; //存放ht陣列中對應的字元的編碼

int n; //字元的個數

//初始化哈夫曼樹ht

void initht()

ht[i].left=ht[i].right=ht[i].parent=-1;

while((ch=fgetc(fp))!=eof)

else if((ch>='a' && ch<='z')||(ch>='a' && ch<='z'))

ht[i].ch=ch;

else if(ch>='0'&&ch<='9')

ht[i].weight=ht[i].weight*10+ch-'0';

} n=i+1;

if(fclose(fp))

}//構造哈夫曼樹,看成有n棵樹,選擇權值最小的兩棵樹合併

void createhufftree()

i++;

}else

} if(f)

puts(code);

else

printf("你輸入的字串錯誤!\n");

printf("按任意鍵後重新選擇!\n");

getch();

}//使用者輸入解碼字串

void decode()

//主函式

void main()

}}

C語言實現哈夫曼編碼與解碼 上手執行

主要功能 建立資料檔案datafile.txt 建立原文檔案tobetran.txt 建立報文檔案codefile.txt 讀取資料檔案datafile.txt建立哈夫曼樹hufftree 對報文檔案codefile.txt解碼 列印字符集的哈夫曼編碼 列印指定字元的哈夫曼編碼 列印解碼結果。統計資...

C語言實現哈夫曼編碼

include define n5 葉子數目 define m 2 n 1 結點總數 define maxval 10000.0 define maxsize100 哈夫曼編碼的最大位數 typedef struct hufmtree typedef struct codetype void huf...

哈夫曼編碼 C語言實現

c語言實現哈夫曼編碼 程式功能 提供一段字串,輸出哈夫曼編碼壓縮後的總位元數 計入小寫字母和空格 include include 定義二叉樹結構 typedef struct node bitnode,bitree 定義棧結構,此處的棧用來儲存二叉樹節點 typedef structstack 操作...