欢迎来到天天文库
浏览记录
ID:22376336
大小:78.50 KB
页数:10页
时间:2018-10-28
《lzw算法的 c#实现--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、LZW算法的C#实现>>#undefdebug#definedebugdisplay#undefdebugdictionaryusingSystem;usingSystem.Collections;namespaceLZ{set{_InCharStream=value;}get{return_InCharStream;}}publicArrayListCodingCodeStream{get{return_CodingCodeStream;}}publicArrayListCodingDictionary{get{return_CodingDic
2、tionary;}}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){_Codin
3、gDictionary.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(Pr
4、efix)>=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+
5、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.*
6、***********");System.Console.);}privatevoidInitCodingCodeStream(){_CodingCodeStream.Clear();}privateArrayList_CodingDictionary=ne="";privateArrayList_CodingCodeStream=ne.Length;if(count==0)return;InitCodingDictionary();InitCodingCodeStream();Prefix=_InCharStream[0].ToString()
7、;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);Add
8、CodingCodeStream(PrefixIndex);#ifdebugdisplayDisplayInCharStream();D
此文档下载收益归作者所有