mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-25 14:23:03 +08:00
249 lines
11 KiB
XML
249 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 13.1.2 (20250808.2320)
|
|
-->
|
|
<!-- Title: hashing/md5.cpp Pages: 1 -->
|
|
<!--zoomable 83 -->
|
|
|
|
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
|
|
|
<style type="text/css"><![CDATA[
|
|
.node, .edge {opacity: 0.7;}
|
|
.node.selected, .edge.selected {opacity: 1;}
|
|
.edge:hover path { stroke: red; }
|
|
.edge:hover polygon { stroke: red; fill: red; }
|
|
]]></style>
|
|
|
|
<defs>
|
|
<circle id="rim" cx="0" cy="0" r="7"/>
|
|
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
|
<g id="zoomPlus">
|
|
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
|
|
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
|
</g>
|
|
<g id="zoomMin">
|
|
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
|
|
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
|
</g>
|
|
<g id="arrowUp" transform="translate(30 24)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
|
|
<use xlink:href="#rim"/>
|
|
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
|
</g>
|
|
<g id="resetDef">
|
|
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
|
|
</g>
|
|
</defs>
|
|
<script type="application/ecmascript">
|
|
var viewWidth = 503;
|
|
var viewHeight = 83;
|
|
var sectionId = 'dynsection-0';
|
|
</script>
|
|
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
|
|
<svg id="graph" class="graph">
|
|
<g id="viewport">
|
|
<title>hashing/md5.cpp</title>
|
|
<!-- Node1 -->
|
|
<g id="Node000001" class="node">
|
|
<title>Node1</title>
|
|
<g id="a_Node000001"><a xlink:title="Simple C++ implementation of the MD5 Hashing Algorithm">
|
|
<polygon fill="#999999" stroke="#666666" points="295,-74.5 204.75,-74.5 204.75,-55.25 295,-55.25 295,-74.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="249.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">hashing/md5.cpp</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node2 -->
|
|
<g id="Node000002" class="node">
|
|
<title>Node2</title>
|
|
<g id="a_Node000002"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="55.75,-19.25 0,-19.25 0,0 55.75,0 55.75,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node2 -->
|
|
<g id="edge1_Node000001_Node000002" class="edge">
|
|
<title>Node1->Node2</title>
|
|
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M211.96,-54.78C171.64,-45.11 108.15,-29.88 67.27,-20.07"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="68.13,-16.68 57.59,-17.75 66.5,-23.49 68.13,-16.68"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node3 -->
|
|
<g id="Node000003" class="node">
|
|
<title>Node3</title>
|
|
<g id="a_Node000003"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="111.75,-19.25 74,-19.25 74,0 111.75,0 111.75,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="92.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">array</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node3 -->
|
|
<g id="edge2_Node000001_Node000003" class="edge">
|
|
<title>Node1->Node3</title>
|
|
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M223.24,-54.84C195.44,-45.41 151.92,-30.65 122.91,-20.81"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="124.22,-17.56 113.63,-17.66 121.97,-24.19 124.22,-17.56"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node4 -->
|
|
<g id="Node000004" class="node">
|
|
<title>Node4</title>
|
|
<g id="a_Node000004"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="178,-19.25 129.75,-19.25 129.75,0 178,0 178,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="153.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node4 -->
|
|
<g id="edge3_Node000001_Node000004" class="edge">
|
|
<title>Node1->Node4</title>
|
|
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M233.59,-54.84C218.97,-46.73 197.25,-34.68 180.17,-25.21"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="182.01,-22.23 171.56,-20.44 178.61,-28.35 182.01,-22.23"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node5 -->
|
|
<g id="Node000005" class="node">
|
|
<title>Node5</title>
|
|
<g id="a_Node000005"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="241.5,-19.25 196.25,-19.25 196.25,0 241.5,0 241.5,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="218.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cstdint</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node5 -->
|
|
<g id="edge4_Node000001_Node000005" class="edge">
|
|
<title>Node1->Node5</title>
|
|
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M244.76,-55.08C240.7,-48.11 234.88,-38.12 229.79,-29.37"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="232.92,-27.8 224.87,-20.92 226.87,-31.32 232.92,-27.8"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node6 -->
|
|
<g id="Node000006" class="node">
|
|
<title>Node6</title>
|
|
<g id="a_Node000006"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="304.5,-19.25 259.25,-19.25 259.25,0 304.5,0 304.5,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="281.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node6 -->
|
|
<g id="edge5_Node000001_Node000006" class="edge">
|
|
<title>Node1->Node6</title>
|
|
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M255.16,-55.08C259.35,-48.11 265.35,-38.12 270.61,-29.37"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="273.55,-31.28 275.7,-20.91 267.55,-27.68 273.55,-31.28"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node7 -->
|
|
<g id="Node000007" class="node">
|
|
<title>Node7</title>
|
|
<g id="a_Node000007"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="375.62,-19.25 322.12,-19.25 322.12,0 375.62,0 375.62,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="348.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node7 -->
|
|
<g id="edge6_Node000001_Node000007" class="edge">
|
|
<title>Node1->Node7</title>
|
|
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M266.67,-54.84C281.89,-46.66 304.57,-34.46 322.26,-24.94"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="323.52,-28.24 330.67,-20.42 320.2,-22.07 323.52,-28.24"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node8 -->
|
|
<g id="Node000008" class="node">
|
|
<title>Node8</title>
|
|
<g id="a_Node000008"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="433.88,-19.25 393.88,-19.25 393.88,0 433.88,0 433.88,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="413.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node8 -->
|
|
<g id="edge7_Node000001_Node000008" class="edge">
|
|
<title>Node1->Node8</title>
|
|
<g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M277.7,-54.84C306.87,-45.37 352.6,-30.52 382.9,-20.68"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="383.82,-24.06 392.25,-17.65 381.66,-17.4 383.82,-24.06"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node9 -->
|
|
<g id="Node000009" class="node">
|
|
<title>Node9</title>
|
|
<g id="a_Node000009"><a xlink:title=" ">
|
|
<polygon fill="#e0e0e0" stroke="#999999" points="495.38,-19.25 452.38,-19.25 452.38,0 495.38,0 495.38,-19.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="473.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node9 -->
|
|
<g id="edge8_Node000001_Node000009" class="edge">
|
|
<title>Node1->Node9</title>
|
|
<g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
|
|
<path fill="none" stroke="#63b8ff" d="M291.42,-54.83C328.22,-46.69 383.66,-34.12 440.82,-19.68"/>
|
|
<polygon fill="#63b8ff" stroke="#63b8ff" points="441.6,-23.1 450.42,-17.24 439.87,-16.32 441.6,-23.1"/>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</svg>
|
|
|
|
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
|
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
|
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
|
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
|
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
|
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
|
|
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
|
|
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
|
|
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
|
|
</g>
|
|
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
|
<g id="arrow_out" transform="scale(0.3 0.3)">
|
|
<a xlink:href="md5_8cpp__incl_org.svg" target="_base">
|
|
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
|
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
|
<path id="arrow"
|
|
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
|
style="fill:#404040;"/>
|
|
</a>
|
|
</g>
|
|
</svg>
|
|
|
|
<style type='text/css'>
|
|
<![CDATA[
|
|
[data-mouse-over-selected='false'] { opacity: 0.7; }
|
|
[data-mouse-over-selected='true'] { opacity: 1.0; }
|
|
]]>
|
|
</style>
|
|
<script type="application/ecmascript"><![CDATA[
|
|
document.addEventListener('DOMContentLoaded', (event) => {
|
|
highlightEdges();
|
|
highlightAdjacentNodes();
|
|
});
|
|
]]></script>
|
|
</svg>
|