コード例 #1
0
ファイル: huffman.cpp プロジェクト: bondyuan/exercise
int main(int argc, char const *argv[])
{
	int n = HuffmanInit("aabcdaaa");
	std::map<char, std::string> code_table;
	std::string encoded_str = HuffmanEncode(n, "aabcdaaa",code_table);
	std::cout << "encoded string : " << encoded_str << std::endl;
	std::string target_str = HuffmanDecode(encoded_str);
	std::cout << "decoded string : " << target_str << std::endl;
	return 0;
}
コード例 #2
0
int main(void)
{
	HuffEncoded HuffValue;

	if ((fout = fopen("Encoded.txt", "wb")) == NULL) {
		printf ("Error: Opening output file...\n");
		return -1;
	}

	output.value = 0;
	output.bits  = 0;

	HuffmanEncode(0, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");
	HuffmanEncode(-1, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");
	HuffmanEncode(0, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");
	HuffmanEncode(1, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");
	HuffmanEncode(2, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");

	HuffmanEncode(0, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");
	HuffmanEncode(-2, &HuffValue);
	fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");
	// HuffmanEncode(6096, &HuffValue);
	// fillBits(fout, &HuffValue);
	printf ("Number of bits = %d\n", output.bits);
	printf ("Value = %x\n", output.value);
	printf ("---------------------------------------\n");

	fclose(fout);
	return 0;
}