<!DOCTYPE html>

<html> <head> <meta charset=“UTF-8”>

<title>linkedlist.rb~ - RDoc Documentation</title>

<link href=“./fonts.css” rel=“stylesheet”> <link href=“./rdoc.css” rel=“stylesheet”>

<script type=“text/javascript”>

var rdoc_rel_prefix = "./";

</script>

<script src=“./js/jquery.js”></script> <script src=“./js/navigation.js”></script> <script src=“./js/search_index.js”></script> <script src=“./js/search.js”></script> <script src=“./js/searcher.js”></script> <script src=“./js/darkfish.js”></script>

<body id=“top” role=“document” class=“file”> <nav role=“navigation”>

<div id="project-navigation">
  <div id="home-section" role="region" title="Quick navigation" class="nav-section">
<h2>
  <a href="./index.html" rel="home">Home</a>
</h2>

<div id="table-of-contents-navigation">
  <a href="./table_of_contents.html#pages">Pages</a>
  <a href="./table_of_contents.html#classes">Classes</a>
  <a href="./table_of_contents.html#methods">Methods</a>
</div>

</div>

  <div id="search-section" role="search" class="project-section initially-hidden">
<form action="#" method="get" accept-charset="utf-8">
  <div id="search-field-wrapper">
    <input id="search-field" role="combobox" aria-label="Search"
           aria-autocomplete="list" aria-controls="search-results"
           type="text" name="search" placeholder="Search" spellcheck="false"
           title="Type to search, Up and Down to navigate, Enter to load">
  </div>

  <ul id="search-results" aria-label="Search Results"
      aria-busy="false" aria-expanded="false"
      aria-atomic="false" class="initially-hidden"></ul>
</form>

</div>

</div>

<div id="project-metadata">
  <div id="fileindex-section" class="nav-section">
<h3>Pages</h3>

<ul class="link-list">

  <li><a href="./SeleccionSimple_rb~.html">SeleccionSimple.rb~</a>

  <li><a href="./examen_rb~.html">examen.rb~</a>

  <li><a href="./linkedlist_rb~.html">linkedlist.rb~</a>

</ul>

</div>

</div>

</nav>

<main role=“main” aria-label=“Page linkedlist.rb~”>

<p><a href=“Nodo.html”>Nodo</a> = Struct.new(:value, :siguiente, :previo) class <a href=“Nodo.html”>Nodo</a></p>

<pre class=“ruby”><span class=“ruby-identifier”>include</span> <span class=“ruby-constant”>Comparable</span> <span class=“ruby-keyword”>def</span> <span class=“ruby-operator”>&lt;=&gt;</span>(<span class=“ruby-identifier”>other</span>)

<span class="ruby-identifier">value</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">value</span>

<span class=“ruby-keyword”>end</span> </pre>

<p>end</p>

<p>class <a href=“List.html”>List</a></p>

<pre class=“ruby”><span class=“ruby-identifier”>attr_accessor</span> :<span class=“ruby-identifier”>head</span>, :<span class=“ruby-identifier”>tail</span>

<span class=“ruby-identifier”>include</span> <span class=“ruby-constant”>Enumerable</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>initialize</span>(<span class=“ruby-identifier”>head</span>)

<span class="ruby-ivar">@head</span> = <span class="ruby-identifier">head</span>
<span class="ruby-ivar">@tail</span> = <span class="ruby-identifier">head</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>insert_head</span>(<span class=“ruby-identifier”>nodo</span>)

<span class="ruby-identifier">aux</span> = <span class="ruby-ivar">@head</span>

<span class="ruby-ivar">@head</span>.<span class="ruby-identifier">siguiente</span> = <span class="ruby-identifier">nodo</span>
<span class="ruby-ivar">@head</span> = <span class="ruby-ivar">@head</span>.<span class="ruby-identifier">siguiente</span>
<span class="ruby-ivar">@head</span>.<span class="ruby-identifier">previo</span> = <span class="ruby-identifier">aux</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>insert_tail</span>(<span class=“ruby-identifier”>nodo</span>)

<span class="ruby-identifier">aux</span> = <span class="ruby-ivar">@tail</span>
<span class="ruby-ivar">@tail</span> = <span class="ruby-identifier">nodo</span>
<span class="ruby-identifier">aux</span>.<span class="ruby-identifier">previo</span> = <span class="ruby-ivar">@tail</span>
<span class="ruby-ivar">@tail</span>.<span class="ruby-identifier">siguiente</span> = <span class="ruby-identifier">aux</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>remove_head</span>

<span class="ruby-identifier">aux</span> = <span class="ruby-ivar">@head</span>
<span class="ruby-ivar">@head</span> = <span class="ruby-ivar">@head</span>.<span class="ruby-identifier">previo</span>
<span class="ruby-keyword">return</span> <span class="ruby-identifier">aux</span>.<span class="ruby-identifier">value</span>
<span class="ruby-comment">#puts @head.value</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>print</span>

<span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@tail</span>

<span class="ruby-keyword">while</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>

        <span class="ruby-node">&quot;#{actual.value}&quot;</span>
        <span class="ruby-identifier">actual</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">siguiente</span>

<span class="ruby-keyword">end</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>remove_tail</span>

<span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@tail</span>
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@tail</span>.<span class="ruby-identifier">siguiente</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
<span class="ruby-ivar">@tail</span> = <span class="ruby-ivar">@tail</span>.<span class="ruby-identifier">siguiente</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">return</span> <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">value</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>each</span>

<span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@tail</span>

     <span class="ruby-keyword">while</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
        <span class="ruby-keyword">yield</span> <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">value</span>
        <span class="ruby-identifier">actual</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">siguiente</span>
     <span class="ruby-keyword">end</span>

<span class=“ruby-keyword”>end</span>

<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>invert</span>

<span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@tail</span>

<span class="ruby-identifier">n</span> = <span class="ruby-constant">Nodo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">actual</span>.<span class="ruby-identifier">value</span>)
<span class="ruby-identifier">aux</span> = <span class="ruby-constant">List</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">n</span>)
<span class="ruby-identifier">actual</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">siguiente</span>

<span class="ruby-keyword">while</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>

        <span class="ruby-identifier">n</span> = <span class="ruby-constant">Nodo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">actual</span>.<span class="ruby-identifier">value</span>)
        <span class="ruby-identifier">aux</span>.<span class="ruby-identifier">insert_tail</span>(<span class="ruby-identifier">n</span>)

        <span class="ruby-identifier">actual</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">siguiente</span>

<span class="ruby-keyword">end</span>

<span class="ruby-keyword">return</span> <span class="ruby-identifier">aux</span>

<span class=“ruby-keyword”>end</span> </pre>

<p>end</p> </main>

<footer id=“validator-badges” role=“contentinfo”>

<p><a href="http://validator.w3.org/check/referer">Validate</a>
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.

</footer>