lzw算法的 c#实现--

lzw算法的 c#实现--

ID:22376336

大小:78.50 KB

页数:10页

时间:2018-10-28

上传者:U-991
lzw算法的 c#实现--_第1页
lzw算法的 c#实现--_第2页
lzw算法的 c#实现--_第3页
lzw算法的 c#实现--_第4页
lzw算法的 c#实现--_第5页
资源描述:

《lzw算法的 c#实现--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

  LZW算法的C#实现>>#undefdebug#definedebugdisplay#undefdebugdictionaryusingSystem;usingSystem.Collections;namespaceLZ{set{_InCharStream=value;}get{return_InCharStream;}}publicArrayListCodingCodeStream{get{return_CodingCodeStream;}}publicArrayListCodingDictionary{get{return_CodingDictionary;}}privatevoidInitCodingDictionary(){_CodingDictionary.Clear(); #ifdebug_CodingDictionary.Add("A");_CodingDictionary.Add("B");_CodingDictionary.Add("C");#elsefor(inti=0;i<256;i++){_CodingDictionary.Add((char)i);}#endif}privatevoidAddCodingDictionary(objectstr){_CodingDictionary.Add(str);}privatevoidAddCodingCodeStream(objectstr){_CodingCodeStream.Add(str);}privateboolISInCodingDictionary(stringPrefix){boolresult=false; intcount=_CodingDictionary.Count;for(inti=0;i<count;i++){stringtemp=_CodingDictionary[i].ToString();if(temp.IndexOf(Prefix)>=0){result=true;break;}}returnresult;}privatestringGetIndexCodingDictionary(stringPrefix){stringresult="0";intcount=_CodingDictionary.Count;for(inti=0;i<count;i++){stringtemp=_CodingDictionary[i].ToString();if(temp.IndexOf(Prefix)>=0){ result=Convert.ToString(i+1);break;}}returnresult;}privatevoidDisplayCodingCodeStream(){System.Console.************");&n123下一页>>>>这篇文章来自..,。bsp;for(inti=0;i<_CodingCodeStream.Count;i++){System.Console.[i].ToString());}}privatevoidDisplayCodingDictionary(){System.Console..Console.(){System.Console.************");System.Console.); }privatevoidInitCodingCodeStream(){_CodingCodeStream.Clear();}privateArrayList_CodingDictionary=ne="";privateArrayList_CodingCodeStream=ne.Length;if(count==0)return;InitCodingDictionary();InitCodingCodeStream();Prefix=_InCharStream[0].ToString();for(inti=1;i<count;i++){c=_InCharStream[i].ToString();if(ISInCodingDictionary(Prefix+c)){Prefix+=c;}else{PrefixIndex=GetIndexCodingDictionary(Prefix);AddCodingCodeStream(PrefixIndex); AddCodingDictionary(Prefix+c);Prefix=c;}}PrefixIndex=GetIndexCodingDictionary(Prefix);AddCodingCodeStream(PrefixIndex);#ifdebugdisplayDisplayInCharStream();DisplayCodingCodeStream();#ifdebugdictionaryDisplayCodingDictionary();#endif#endif}#endregion#regionDecodeprivateArrayList_DeCodeDictionary=ne=ne;publicvoidSetDeCodeSCodetream(int[]obj){intcount=obj.Length; 上一页123下一页>>>>这篇文章来自..,。_DeCodeCodeStream=ne[i]=obj[i];}}publicvoidSetDeCodeSCodetream(ArrayListobj){intcount=obj.Count;_DeCodeCodeStream=ne[i]=System.Convert.ToInt32(obj[i]);}}publicint[]GetDeCodeCodeStream(){return_DeCodeCodeStream;}publicstringOutCharStream{get{stringresult=""; for(inti=0,count=_OutCharStream.Count;i<count;i++){result+=_OutCharStream[i].ToString();}returnresult;}}publicArrayListDeCodeDictionary{get{return_DeCodeDictionary;}}privatevoidInitDeCodeDictionary(){_DeCodeDictionary.Clear();#ifdebug_DeCodeDictionary.Add("A");_DeCodeDictionary.Add("B"); _DeCodeDictionary.Add("C");#elsefor(inti=0;i<256;i++){_DeCodeDictionary.Add((char)i);}#endif}privatevoidInitOutCharStream(){_OutCharStream.Clear();}privatevoidDisplayOutCharStream(){System.Console.************");stringtemp="";for(inti=0;i<_OutCharStream.Count;i++){temp=temp+(_OutCharStream[i].ToString());}System.Console.p); }privatevoidDisplayDeCodeDictionary(){System.Console..Console.WriteLine(_DeCodeDictionary[i].ToString());}}9731248:上一页123>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭