<!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”><=></span>(<span class=“ruby-identifier”>other</span>)
<span class="ruby-identifier">value</span> <span class="ruby-operator"><=></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">"#{actual.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”>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>