рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рдЪреЗрдХрд╕рдо рджреНрд╡рд╛рд░рд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ

рд╕реНрд░реЛрдд рдбреЗрдЯрд╛:





рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп:



рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдПрдХ рдкреНрд░рддреНрдпрдп рдХрд╛ рдкреЗрдбрд╝ рдмрдирд╛рдирд╛ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдЪреЗрдХрд╕рдо рдХреЗ рдПрдХ рдмрд╛рдЗрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд▓реА рд╡рд╕реНрддреБ рдХреЗ рдЪреЗрдХрд╕рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, рд╣рдо рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рд╕реЗ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЪрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдореЗрдВ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдЕрдЧрд▓реЗ рдмрд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдирд╛рдПрдВред рдЪреЗрдХрд╕рдо рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдФрд░ рдЕрдВрддрд┐рдо рдиреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдо рдЕрдВрдд рдиреЛрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЕрдВрдд рдиреЛрдб рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рди рд╣реИрдВред



рдореИрдВ рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдкрд╛рда рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреЗрддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

using System;

using System.Collections. Generic ;

/// <summary>

///

/// </summary>

public class HashObject

{

public string attribute1 { get ; set ; }

public string attribute2 { get ; set ; }

}

/// <summary>

/// ,

///

///

/// </summary>

public class HashTreeNode

{

/// <summary>

///

/// </summary>

private byte myPart;

public byte MyPart

{

get { return myPart; }

}

public HashTreeNode( byte part)

{

myPart = part;

}

/// <summary>

/// ,

/// </summary>

public List <HashObject> files = null ;

/// <summary>

///

/// </summary>

private List <HashTreeNode> NextNodes = new List <HashTreeNode>();

/// <summary>

///

/// </summary>

public HashTreeNode FindEndNode( byte [] crc, int position)

{

HashTreeNode endNode = FindSubNodes(crc[position]);

if (position < crc.Length - 1)

return endNode.FindEndNode(crc, position + 1);

else return endNode;

}

/// <summary>

/// /

/// </summary>

private HashTreeNode FindSubNodes( byte part)

{

lock (NextNodes)

{

for ( int i = 0; i < NextNodes.Count; i++)

if (NextNodes[i].MyPart.Equals(part))

return NextNodes[i];

NextNodes.Add( new HashTreeNode(part));

return NextNodes[NextNodes.Count - 1];

}

}

}

/// <summary>

/// ,

/// </summary>

public class HashTree

{

/// <summary>

///

/// </summary>

List <HashTreeNode> Nodes = new List <HashTreeNode>();

/// <summary>

///

/// ,

/// </summary>

/// <param name="crc">Crc32 </param>

/// <returns></returns>

public HashTreeNode CheckOnTree( byte [] crc)

{

HashTreeNode root = FindNode(crc[0]);

return root.FindEndNode(crc, 1);

}

/// <summary>

///

/// </summary>

private HashTreeNode FindNode( byte part)

{

lock (Nodes)

{

for ( int i = 0; i < Nodes.Count; i++)

if (Nodes[i].MyPart.Equals(part))

return Nodes[i];

Nodes.Add( new HashTreeNode(part));

return Nodes[Nodes.Count - 1];

}

}

}




* This source code was highlighted with Source Code Highlighter .








рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдПрдХ HTML рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ Microsoft Visual Studio 2008 рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ Windows x86 рдХреЗ рддрд╣рдд рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдлреЛрдЯреЛ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо:

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ: 4326

рдЗрди рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рд╕реЗ: 4131

рдЫрд╡рд┐ рд╡рдЬрди: 8.33 рдЬреАрдмреА

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЦреЛрдЬ рд╕рдордп: рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 117 рд╕реЗрдХрдВрдб (2 рдорд┐рдирдЯ) + 6 рд╕реЗрдХрдВрдбред

рдорд┐рд▓рд╛: 90 рдбреБрдкреНрд▓рд┐рдХреЗрдЯред

рдЖрд╡реЗрджрди рдФрд░ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ:

ifolder.ru/19211139



рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджреНрд╡рд╛рд░рд╛, рдлрд╝рд╛рдЗрд▓ рд╣реЗрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред Signatures.cs рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡рд░реНрдЧ рд╣реИред



рдкреЗрд╢реЗрд╡рд░реЛрдВ:





рд╡рд┐рдкрдХреНрд╖:





рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХрд╛ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛, рдЬреЛ рдкрдж рдкрд░ рд░рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдЬреНрдЮрд╛рдд рдмреЗрд╣рддрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗ рдпрд╛ рд╡рд░реНрдгрд┐рдд рдХрдорд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗред



All Articles