91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

c# 實現哈夫曼編碼壓縮文件 一些文件操作及哈夫曼的創建,及保存。

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;

namespace?Huffmancode
{
????
????struct?SmallPair//定義表示最小2個量的結構體SmallPair
????{
????????public?int?S1;
????????public?int?S2;
????}
????struct?BufferNode//定義帶下表和結點的結構體BufferNode
????{
????????public?Node?node;
????????public?int?index;
????}
????class?Huffmantree//哈夫曼樹類
????{
????????
????????public?Node[]?huff;
????????
????????public?int?leafnum;

????????private?char[]?temp?=?new?char[100];
????????
????????public?Huffmantree(int?sizeint?leafnumValue)?//帶結點個數的構造函數
????????{
????????????huff?=?new?Node[size];
????????????leafnum?=?leafnumValue;
????????}
????????
????????
????????//初始化哈弗曼樹
????????public?void?InitTree(Node[]?huffValue)
????????{?
????????????for?(int?i?=?1;?i?<=?leafnum;?i++)
????????????{
????????????????
????????????????huff[i]?=?new?Node();
????????????????huff[i].weight=?huffValue[i?-?1].weight?;
????????????????huff[i].lchild=huff[i].rchild=huff[i].parent=-1;
????????????????huff[i].ch=huffValue[i-1].ch;
????????????}
????????????for?(int?i?=?leafnum?+?1;?i?<=?2?*?leafnum?-?1;?i++)?
????????????{
????????????????huff[i]?=?new?Node();
????????????????huff[i].weight?=?-1;
????????????????huff[i].lchild?=?huff[i].rchild?=?huff[i].parent?=?-1;?
????????????}
????????}
????????
????????//求當前無雙親且權重最小的兩個結點下標
????????public?SmallPair?Selectsort(?int?newnum)
????????{
???????????
?????????//Huffman樹中找出沒有父節點并且權值最小的兩個節點
????????BufferNode[]?buffer=new?BufferNode[256];?//存放沒有父節點的所有節點
????????
????????????int?p=0;?//統計buffer中節點的個數
????????
????????????for(int?m=1;m<=newnum;m++)
????????{
????????if(huff[m].parent==-1)
????????{
????????????????????buffer[p].node?=?huff[m];
????????buffer[p].index?=?m;
????????p++;
????????}
????????}
????????//對buffer進行冒泡排序選出最小的兩個權重的結點
????????BufferNode?temp;
????????for(int?i=1;i<=p-1;i++)
????????{
????????for(int?j=2;j<=p-i+1;j++)
????????{
????????if(buffer[j-1].node.weight ????????{
????????temp?=?buffer[j-1];
????????buffer[j-1]?=?buffer[j-2];
????????buffer[j-2]?=?temp;
????????}
????????}
?????????}
?????????SmallPair?smp;
?????????smp.S1?=?buffer[0].index;
?????????smp.S2?=?buffer[1].index;
?????????return?smp;
?????????}

????????//生成leafnum-1個非葉子結點的循環(共leafnum+(leafnum-1)結點)
????????public?void?InsertTree()
????????{
????????????for(int?i=1;i<=leafnum-1;i++)
????????????{
????????????????SmallPair?min2=Selectsort(leafnum?+i-1);//對數組huff[1....leafnum+i+1]中無雙親的結點權值進行排序,找出最小的兩個結點的下標
????????????????
????????????????double?sum=huff[min2.S1].weight+huff[min2.S2].weight;//合并結點后的權值sum并修改相應的parentlchildrchild值
????????????????huff[leafnum?+?i].weight?=?sum;
????????????????huff[min2.S1].parent?=?huff[min2.S2].parent?=?leafnum?+?i;
????????????????huff[leafnum?+?i].lchild?=?min2.S1;
????????????????huff[leafnum?+?i].rchild?=?min2.

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????348??2010-04-21?11:06??Huffmancode\Huffmancode\bin\Debug\coded?string.txt

?????文件???????7680??2010-04-21?11:06??Huffmancode\Huffmancode\bin\Debug\Huffmancode.exe

?????文件??????22016??2010-04-21?11:06??Huffmancode\Huffmancode\bin\Debug\Huffmancode.pdb

?????文件??????14328??2010-04-21?10:45??Huffmancode\Huffmancode\bin\Debug\Huffmancode.vshost.exe

?????文件????????490??2007-07-21?01:33??Huffmancode\Huffmancode\bin\Debug\Huffmancode.vshost.exe.manifest

?????文件?????????88??2010-04-10?12:51??Huffmancode\Huffmancode\bin\Debug\source?string.txt

?????文件???????2572??2010-04-08?02:46??Huffmancode\Huffmancode\Huffmancode.csproj

?????文件???????4475??2010-04-21?11:06??Huffmancode\Huffmancode\Huffmantree.cs

?????文件????????692??2010-04-21?11:06??Huffmancode\Huffmancode\Node.cs

?????文件????????650??2010-04-21?11:04??Huffmancode\Huffmancode\obj\Debug\Huffmancode.csproj.FileListAbsolute.txt

?????文件???????7680??2010-04-21?11:06??Huffmancode\Huffmancode\obj\Debug\Huffmancode.exe

?????文件??????22016??2010-04-21?11:06??Huffmancode\Huffmancode\obj\Debug\Huffmancode.pdb

?????文件????????660??2010-04-10?12:26??Huffmancode\Huffmancode\obj\Release\Huffmancode.csproj.FileListAbsolute.txt

?????文件???????7168??2010-04-10?12:25??Huffmancode\Huffmancode\obj\Release\Huffmancode.exe

?????文件??????19968??2010-04-10?12:25??Huffmancode\Huffmancode\obj\Release\Huffmancode.pdb

?????文件???????4654??2010-04-21?10:58??Huffmancode\Huffmancode\Program.cs

?????文件???????1386??2010-04-07?21:28??Huffmancode\Huffmancode\Properties\AssemblyInfo.cs

?????文件???????1674??2010-04-08?13:45??Huffmancode\Huffmancode\ve-B2.tmp

?????文件????????923??2010-04-07?21:28??Huffmancode\Huffmancode.sln

????..A..H.?????19968??2010-04-21?11:08??Huffmancode\Huffmancode.suo

?????目錄??????????0??2010-04-07?21:28??Huffmancode\Huffmancode\obj\Debug\TempPE

?????目錄??????????0??2010-04-09?13:47??Huffmancode\Huffmancode\obj\Release\TempPE

?????目錄??????????0??2010-04-10?18:32??Huffmancode\Huffmancode\bin\Debug

?????目錄??????????0??2010-04-21?11:06??Huffmancode\Huffmancode\obj\Debug

?????目錄??????????0??2010-04-10?12:25??Huffmancode\Huffmancode\obj\Release

?????目錄??????????0??2010-04-10?12:27??Huffmancode\Huffmancode\bin

?????目錄??????????0??2010-04-09?13:47??Huffmancode\Huffmancode\obj

?????目錄??????????0??2010-04-07?21:28??Huffmancode\Huffmancode\Properties

?????目錄??????????0??2010-04-21?11:06??Huffmancode\Huffmancode

?????目錄??????????0??2010-04-07?21:28??Huffmancode

............此處省略3個文件信息

評論

共有 條評論