From 70e86ec20fba2f4e549b445f2d1d46bc8985fa22 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Thu, 16 Dec 2021 13:57:08 +0100 Subject: [PATCH] we should do doubly linked lists as a HUGE exercise --- slides/cours_11.md | 3 +- slides/figs/doubly_linked_list.svg | 929 +++++++++++++++++++++++++++++ 2 files changed, 931 insertions(+), 1 deletion(-) create mode 100644 slides/figs/doubly_linked_list.svg diff --git a/slides/cours_11.md b/slides/cours_11.md index 2c1f561..22fae35 100644 --- a/slides/cours_11.md +++ b/slides/cours_11.md @@ -703,5 +703,6 @@ $$ # Liste doublement chaînée - +* La liste simplement chaînée permet un seul sens de parcours d'éléments. +* diff --git a/slides/figs/doubly_linked_list.svg b/slides/figs/doubly_linked_list.svg new file mode 100644 index 0000000..b96a323 --- /dev/null +++ b/slides/figs/doubly_linked_list.svg @@ -0,0 +1,929 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="385.21741mm" + height="78.418839mm" + viewBox="0 0 385.21741 78.418839" + version="1.1" + id="svg5" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)" + sodipodi:docname="doubly_linked_list.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="0.47433592" + inkscape:cx="952.91118" + inkscape:cy="365.77453" + inkscape:window-width="1920" + inkscape:window-height="1080" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs2"> + <linearGradient + id="linearGradient27181" + inkscape:swatch="solid"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop27179" /> + </linearGradient> + <marker + style="overflow:visible" + id="Arrow2Lend" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-1" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-27" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-61" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-8" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-20" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0-2" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6-3" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-93" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-1" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6-4" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-5" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-5" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0-4" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6-7" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-0" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6-8" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-2" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-6" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0-6" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6-49" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-15" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-9" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-6-9-0-49" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-2-3-6-0" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-12" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-93" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-0" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-4" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-1" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-8-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-4-6" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-8-2" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-1-1" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-8-8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-4-3" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-8-1" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-1-8" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-8-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-4-7" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-8-6" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-1-4" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-8-1-5" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-1-8-4" /> + </marker> + <marker + style="overflow:visible" + id="Arrow2Lend-63-8-1-1" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend" + inkscape:isstock="true"> + <path + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round" + id="path5453-94-1-8-2" /> + </marker> + </defs> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(8.5735273,-162.33534)"> + <g + id="g31034"> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect43" + width="26.817299" + height="21.512512" + x="43.79332" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3" + width="19.720016" + height="21.512497" + x="70.592087" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-5" + width="19.720016" + height="21.512497" + x="24.073303" + y="162.83536" /> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="49.381596" + y="170.55223" + id="text2533"><tspan + sodipodi:role="line" + id="tspan2531" + style="font-size:7.05556px;stroke-width:0.264583" + x="49.381596" + y="170.55223">data</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="72.400902" + y="176.01866" + id="text2533-6"><tspan + sodipodi:role="line" + id="tspan2531-7" + style="font-size:7.05556px;stroke-width:0.264583" + x="72.400902" + y="176.01866">next</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="25.847668" + y="174.83356" + id="text2533-5"><tspan + sodipodi:role="line" + id="tspan2531-3" + style="font-size:7.05556px;stroke-width:0.264583" + x="25.847668" + y="174.83356">prev</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)" + d="M 32.566534,179.81541 H 7.1177008" + id="path5430" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-63)" + d="M 81.846967,167.73425 H 107.2958" + id="path5430-8" + sodipodi:nodetypes="cc" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect43-0" + width="26.817299" + height="21.512512" + x="128.29239" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4" + width="19.720016" + height="21.512497" + x="155.09116" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-5-4" + width="19.720016" + height="21.512497" + x="108.57237" + y="162.83536" /> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="133.88066" + y="170.55223" + id="text2533-4"><tspan + sodipodi:role="line" + id="tspan2531-4" + style="font-size:7.05556px;stroke-width:0.264583" + x="133.88066" + y="170.55223">data</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="156.89996" + y="176.01866" + id="text2533-6-7"><tspan + sodipodi:role="line" + id="tspan2531-7-6" + style="font-size:7.05556px;stroke-width:0.264583" + x="156.89996" + y="176.01866">next</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="110.34673" + y="174.83356" + id="text2533-5-3"><tspan + sodipodi:role="line" + id="tspan2531-3-1" + style="font-size:7.05556px;stroke-width:0.264583" + x="110.34673" + y="174.83356">prev</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-8)" + d="M 117.0656,179.81541 H 91.616768" + id="path5430-7" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-63-8)" + d="m 166.34603,167.73425 h 25.44884" + id="path5430-8-5" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-8-7)" + d="M 112.23011,218.63392 60.009485,185.36325" + id="path5430-7-4" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-63-8-6)" + d="m 141.44144,218.73827 72.28584,-33.4172" + id="path5430-8-5-6" + sodipodi:nodetypes="cc" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect43-0-5" + width="26.817299" + height="21.512512" + x="212.85204" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-7" + width="19.720016" + height="21.512497" + x="239.6508" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-5-4-4" + width="19.720016" + height="21.512497" + x="193.13202" + y="162.83536" /> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="218.44032" + y="170.55223" + id="text2533-4-1"><tspan + sodipodi:role="line" + id="tspan2531-4-8" + style="font-size:7.05556px;stroke-width:0.264583" + x="218.44032" + y="170.55223">data</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="241.45963" + y="176.01866" + id="text2533-6-7-5"><tspan + sodipodi:role="line" + id="tspan2531-7-6-9" + style="font-size:7.05556px;stroke-width:0.264583" + x="241.45963" + y="176.01866">next</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="194.90639" + y="174.83356" + id="text2533-5-3-7"><tspan + sodipodi:role="line" + id="tspan2531-3-1-5" + style="font-size:7.05556px;stroke-width:0.264583" + x="194.90639" + y="174.83356">prev</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-8-9)" + d="M 201.62525,179.81541 H 176.17642" + id="path5430-7-3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-63-8-2)" + d="m 250.90569,167.73425 h 25.44883" + id="path5430-8-5-8" + sodipodi:nodetypes="cc" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect43-0-4" + width="26.817299" + height="21.512512" + x="297.36826" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-3" + width="19.720016" + height="21.512497" + x="324.16702" + y="162.83534" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-5-4-3" + width="19.720016" + height="21.512497" + x="277.64822" + y="162.83536" /> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="302.95651" + y="170.55223" + id="text2533-4-3"><tspan + sodipodi:role="line" + id="tspan2531-4-86" + style="font-size:7.05556px;stroke-width:0.264583" + x="302.95651" + y="170.55223">data</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="325.97583" + y="176.01866" + id="text2533-6-7-0"><tspan + sodipodi:role="line" + id="tspan2531-7-6-4" + style="font-size:7.05556px;stroke-width:0.264583" + x="325.97583" + y="176.01866">next</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="279.42261" + y="174.83356" + id="text2533-5-3-8"><tspan + sodipodi:role="line" + id="tspan2531-3-1-8" + style="font-size:7.05556px;stroke-width:0.264583" + x="279.42261" + y="174.83356">prev</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-8-8)" + d="M 286.14146,179.81541 H 260.69263" + id="path5430-7-8" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-63-8-1)" + d="m 335.4219,167.73425 h 25.44883" + id="path5430-8-5-9" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-63-8-1-1)" + d="M 38.063478,229.50673 H 96.051494" + id="path5430-8-5-9-8" + sodipodi:nodetypes="cc" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-0" + width="30.466314" + height="21.512512" + x="127.86939" + y="218.74167" /> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-0-2" + width="30.466314" + height="21.512512" + x="97.403076" + y="218.74167" /> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="136.71878" + y="232.0807" + id="text19798"><tspan + sodipodi:role="line" + id="tspan19796" + style="font-size:7.05556px;stroke-width:0.264583" + x="136.71878" + y="232.0807">pos</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="103.82884" + y="232.12825" + id="text21012"><tspan + sodipodi:role="line" + id="tspan21010" + style="font-size:7.05556px;stroke-width:0.264583" + x="103.82884" + y="232.12825">head</tspan></text> + <g + id="g23095" + transform="translate(0.63181235,-8.3387299)"> + <rect + style="fill:none;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-0-2-2" + width="30.466314" + height="21.512512" + x="6.8544922" + y="227.0804" /> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="16.658175" + y="240.46698" + id="text22622"><tspan + sodipodi:role="line" + id="tspan22620" + style="font-size:7.05556px;stroke-width:0.264583" + x="16.658175" + y="240.46698">list</tspan></text> + </g> + <g + id="g27724"> + <rect + style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-0-9" + width="13.974364" + height="21.512512" + x="-8.0735273" + y="162.83534" /> + <path + style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000205;stroke-width:0.704282;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none" + d="M -28.32387,656.10754 V 617.5349 H -4.0995075 20.124855 v 38.57264 38.57264 H -4.0995075 -28.32387 Z" + id="path27327" + transform="scale(0.26458333)" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -7.7213419,184.34785 5.8332385,176.52211" + id="path27399" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 5.9008369,162.83534 -13.6897772,7.9038" + id="path27401" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 5.9008369,167.3846 -13.6897772,7.9038" + id="path27401-3" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 5.9008369,171.93383 -13.6897772,7.9038" + id="path27401-6" /> + </g> + <g + id="g27724-8" + transform="translate(370.24303)"> + <rect + style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000205;stroke-width:1;stroke-linecap:square" + id="rect984-3-4-0-9-0" + width="13.974364" + height="21.512512" + x="-8.0735273" + y="162.83534" /> + <path + style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000205;stroke-width:0.704282;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none" + d="M -28.32387,656.10754 V 617.5349 H -4.0995075 20.124855 v 38.57264 38.57264 H -4.0995075 -28.32387 Z" + id="path27327-2" + transform="scale(0.26458333)" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -7.7213419,184.34785 5.8332385,176.52211" + id="path27399-1" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 5.9008369,162.83534 -13.6897772,7.9038" + id="path27401-0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 5.9008369,167.3846 -13.6897772,7.9038" + id="path27401-3-5" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 5.9008369,171.93383 -13.6897772,7.9038" + id="path27401-6-1" /> + </g> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="54.971268" + y="180.15842" + id="text2533-46"><tspan + sodipodi:role="line" + id="tspan2531-2" + style="font-size:7.05556px;stroke-width:0.264583" + x="54.971268" + y="180.15842">3</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="137.17761" + y="180.20837" + id="text2533-46-5"><tspan + sodipodi:role="line" + id="tspan2531-2-8" + style="font-size:7.05556px;stroke-width:0.264583" + x="137.17761" + y="180.20837">12</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="224.03" + y="180.15842" + id="text2533-46-6"><tspan + sodipodi:role="line" + id="tspan2531-2-2" + style="font-size:7.05556px;stroke-width:0.264583" + x="224.03" + y="180.15842">3</tspan></text> + <text + xml:space="preserve" + style="font-size:7.05556px;line-height:0;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583" + x="308.5083" + y="180.15842" + id="text2533-46-8"><tspan + sodipodi:role="line" + id="tspan2531-2-4" + style="font-size:7.05556px;stroke-width:0.264583" + x="308.5083" + y="180.15842">6</tspan></text> + </g> + </g> +</svg> -- GitLab