prct11_abian 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1173 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: LinkedList
8
+
9
+ &mdash; Documentation by YARD 0.9.5
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "LinkedList";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index (L)</a> &raquo;
40
+
41
+
42
+ <span class="title">LinkedList</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <iframe id="search_frame" src="class_list.html"></iframe>
63
+
64
+ <div id="content"><h1>Class: LinkedList
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+ <dl>
72
+ <dt>Inherits:</dt>
73
+ <dd>
74
+ <span class="inheritName">Object</span>
75
+
76
+ <ul class="fullTree">
77
+ <li>Object</li>
78
+
79
+ <li class="next">LinkedList</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+ <dl>
93
+ <dt>Includes:</dt>
94
+ <dd>Enumerable</dd>
95
+ </dl>
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <dl>
103
+ <dt>Defined in:</dt>
104
+ <dd>lib/prct06/linkedList.rb</dd>
105
+ </dl>
106
+
107
+ </div>
108
+
109
+
110
+
111
+
112
+
113
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
114
+ <ul class="summary">
115
+
116
+ <li class="public ">
117
+ <span class="summary_signature">
118
+
119
+ <a href="#head-instance_method" title="#M (instance method)">#<strong>M</strong> &#x21d2; Object </a>
120
+
121
+
122
+
123
+ </span>
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ <span class="summary_desc"><div class='inline'></div></span>
137
+
138
+ </li>
139
+
140
+
141
+ </ul>
142
+
143
+
144
+
145
+
146
+
147
+ <h2>
148
+ Instance Method Summary
149
+ <small><a href="#" class="summary_toggle">collapse</a></small>
150
+ </h2>
151
+
152
+ <ul class="summary">
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#deleteFirst-instance_method" title="#deleteFirst (instance method)">#<strong>deleteFirst</strong> &#x21d2; Any Type </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+ <span class="summary_desc"><div class='inline'>
172
+ <p>Elemento eliminado.</p>
173
+ </div></span>
174
+
175
+ </li>
176
+
177
+
178
+ <li class="public ">
179
+ <span class="summary_signature">
180
+
181
+ <a href="#deleteLast-instance_method" title="#deleteLast (instance method)">#<strong>deleteLast</strong> &#x21d2; Any Type </a>
182
+
183
+
184
+
185
+ </span>
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ <span class="summary_desc"><div class='inline'>
196
+ <p>Elemento eliminado.</p>
197
+ </div></span>
198
+
199
+ </li>
200
+
201
+
202
+ <li class="public ">
203
+ <span class="summary_signature">
204
+
205
+ <a href="#each-instance_method" title="#each (instance method)">#<strong>each</strong> &#x21d2; Any Type </a>
206
+
207
+
208
+
209
+ </span>
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <span class="summary_desc"><div class='inline'>
220
+ <p>Bloques seleccionados.</p>
221
+ </div></span>
222
+
223
+ </li>
224
+
225
+
226
+ <li class="public ">
227
+ <span class="summary_signature">
228
+
229
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> &#x21d2; LinkedList </a>
230
+
231
+
232
+
233
+ </span>
234
+
235
+
236
+ <span class="note title constructor">constructor</span>
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+ <span class="summary_desc"><div class='inline'>
246
+ <p>A new instance of LinkedList.</p>
247
+ </div></span>
248
+
249
+ </li>
250
+
251
+
252
+ <li class="public ">
253
+ <span class="summary_signature">
254
+
255
+ <a href="#Node-instance_method" title="#Estructura (instance method)">#<strong>Estructura</strong>(Globalquerepresentar) &#x21d2; Object </a>
256
+
257
+
258
+
259
+ </span>
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ <span class="summary_desc"><div class='inline'></div></span>
270
+
271
+ </li>
272
+
273
+
274
+ <li class="public ">
275
+ <span class="summary_signature">
276
+
277
+ <a href="#putFirst-instance_method" title="#putFirst (instance method)">#<strong>putFirst</strong>(value) &#x21d2; Object </a>
278
+
279
+
280
+
281
+ </span>
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+ <span class="summary_desc"><div class='inline'></div></span>
292
+
293
+ </li>
294
+
295
+
296
+ <li class="public ">
297
+ <span class="summary_signature">
298
+
299
+ <a href="#putLast-instance_method" title="#putLast (instance method)">#<strong>putLast</strong>(value) &#x21d2; Object </a>
300
+
301
+
302
+
303
+ </span>
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ <span class="summary_desc"><div class='inline'></div></span>
314
+
315
+ </li>
316
+
317
+
318
+ <li class="public ">
319
+ <span class="summary_signature">
320
+
321
+ <a href="#to_s-instance_method" title="#to_s (instance method)">#<strong>to_s</strong> &#x21d2; String </a>
322
+
323
+
324
+
325
+ </span>
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+ <span class="summary_desc"><div class='inline'>
336
+ <p>String con el contenido de la lista.</p>
337
+ </div></span>
338
+
339
+ </li>
340
+
341
+
342
+ </ul>
343
+
344
+
345
+
346
+ <div id="constructor_details" class="method_details_list">
347
+ <h2>Constructor Details</h2>
348
+
349
+ <div class="method_details first">
350
+ <h3 class="signature first" id="initialize-instance_method">
351
+
352
+ #<strong>initialize</strong> &#x21d2; <tt><span class='object_link'><a href="" title="LinkedList (class)">LinkedList</a></span></tt>
353
+
354
+
355
+
356
+
357
+
358
+ </h3><div class="docstring">
359
+ <div class="discussion">
360
+
361
+ <div class="note notetag">
362
+ <strong>Note:</strong>
363
+ <div class='inline'>
364
+ <p>La clase se inicializa con la cabeza a nil</p>
365
+ </div>
366
+ </div>
367
+
368
+
369
+ <p>Returns a new instance of LinkedList</p>
370
+
371
+
372
+ </div>
373
+ </div>
374
+ <div class="tags">
375
+
376
+
377
+ </div><table class="source_code">
378
+ <tr>
379
+ <td>
380
+ <pre class="lines">
381
+
382
+
383
+ 29
384
+ 30
385
+ 31
386
+ 32
387
+ 33</pre>
388
+ </td>
389
+ <td>
390
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 29</span>
391
+
392
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='rparen'>)</span>
393
+
394
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='kw'>nil</span>
395
+
396
+ <span class='kw'>end</span></pre>
397
+ </td>
398
+ </tr>
399
+ </table>
400
+ </div>
401
+
402
+ </div>
403
+
404
+ <div id="instance_attr_details" class="attr_details">
405
+ <h2>Instance Attribute Details</h2>
406
+
407
+
408
+ <span id="head=-instance_method"></span>
409
+ <div class="method_details first">
410
+ <h3 class="signature first" id="head-instance_method">
411
+
412
+ #<strong>M</strong> &#x21d2; <tt>Object</tt>
413
+
414
+
415
+
416
+
417
+
418
+ </h3><div class="docstring">
419
+ <div class="discussion">
420
+
421
+
422
+ </div>
423
+ </div>
424
+ <div class="tags">
425
+
426
+
427
+
428
+
429
+ </div><table class="source_code">
430
+ <tr>
431
+ <td>
432
+ <pre class="lines">
433
+
434
+
435
+ 21
436
+ 22
437
+ 23</pre>
438
+ </td>
439
+ <td>
440
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 21</span>
441
+
442
+ <span class='kw'>def</span> <span class='id identifier rubyid_head'>head</span>
443
+ <span class='ivar'>@head</span>
444
+ <span class='kw'>end</span></pre>
445
+ </td>
446
+ </tr>
447
+ </table>
448
+ </div>
449
+
450
+ </div>
451
+
452
+
453
+ <div id="instance_method_details" class="method_details_list">
454
+ <h2>Instance Method Details</h2>
455
+
456
+
457
+ <div class="method_details first">
458
+ <h3 class="signature first" id="deleteFirst-instance_method">
459
+
460
+ #<strong>deleteFirst</strong> &#x21d2; <tt>Any Type</tt>
461
+
462
+
463
+
464
+
465
+
466
+ </h3><div class="docstring">
467
+ <div class="discussion">
468
+
469
+ <div class="note notetag">
470
+ <strong>Note:</strong>
471
+ <div class='inline'>
472
+ <p>Método que permite eliminar un elemento por el principio</p>
473
+ </div>
474
+ </div>
475
+
476
+
477
+ <p>Returns Elemento eliminado</p>
478
+
479
+
480
+ </div>
481
+ </div>
482
+ <div class="tags">
483
+
484
+ <p class="tag_title">Returns:</p>
485
+ <ul class="return">
486
+
487
+ <li>
488
+
489
+
490
+ <span class='type'>(<tt>Any Type</tt>)</span>
491
+
492
+
493
+
494
+ &mdash;
495
+ <div class='inline'>
496
+ <p>Elemento eliminado</p>
497
+ </div>
498
+
499
+ </li>
500
+
501
+ </ul>
502
+
503
+ </div><table class="source_code">
504
+ <tr>
505
+ <td>
506
+ <pre class="lines">
507
+
508
+
509
+ 54
510
+ 55
511
+ 56
512
+ 57
513
+ 58
514
+ 59
515
+ 60
516
+ 61
517
+ 62
518
+ 63
519
+ 64
520
+ 65
521
+ 66
522
+ 67
523
+ 68
524
+ 69
525
+ 70
526
+ 71</pre>
527
+ </td>
528
+ <td>
529
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 54</span>
530
+
531
+ <span class='kw'>def</span> <span class='id identifier rubyid_deleteFirst'>deleteFirst</span><span class='lparen'>(</span><span class='rparen'>)</span>
532
+
533
+ <span class='comment'>#Si la lista no está vacía movemos una posición head
534
+ </span> <span class='comment'>#y el prev apuntará a nil:
535
+ </span>
536
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='ivar'>@head</span>
537
+
538
+ <span class='kw'>if</span> <span class='ivar'>@head</span> <span class='op'>!=</span> <span class='kw'>nil</span>
539
+
540
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
541
+
542
+ <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span> <span class='op'>=</span> <span class='kw'>nil</span>
543
+
544
+ <span class='kw'>end</span>
545
+
546
+ <span class='id identifier rubyid_tmp'>tmp</span>
547
+
548
+ <span class='kw'>end</span></pre>
549
+ </td>
550
+ </tr>
551
+ </table>
552
+ </div>
553
+
554
+ <div class="method_details ">
555
+ <h3 class="signature " id="deleteLast-instance_method">
556
+
557
+ #<strong>deleteLast</strong> &#x21d2; <tt>Any Type</tt>
558
+
559
+
560
+
561
+
562
+
563
+ </h3><div class="docstring">
564
+ <div class="discussion">
565
+
566
+ <div class="note notetag">
567
+ <strong>Note:</strong>
568
+ <div class='inline'>
569
+ <p>Método que permite eliminar un elemento por el final</p>
570
+ </div>
571
+ </div>
572
+
573
+
574
+ <p>Returns Elemento eliminado</p>
575
+
576
+
577
+ </div>
578
+ </div>
579
+ <div class="tags">
580
+
581
+ <p class="tag_title">Returns:</p>
582
+ <ul class="return">
583
+
584
+ <li>
585
+
586
+
587
+ <span class='type'>(<tt>Any Type</tt>)</span>
588
+
589
+
590
+
591
+ &mdash;
592
+ <div class='inline'>
593
+ <p>Elemento eliminado</p>
594
+ </div>
595
+
596
+ </li>
597
+
598
+ </ul>
599
+
600
+ </div><table class="source_code">
601
+ <tr>
602
+ <td>
603
+ <pre class="lines">
604
+
605
+
606
+ 127
607
+ 128
608
+ 129
609
+ 130
610
+ 131
611
+ 132
612
+ 133
613
+ 134
614
+ 135
615
+ 136
616
+ 137
617
+ 138
618
+ 139
619
+ 140
620
+ 141
621
+ 142
622
+ 143
623
+ 144
624
+ 145
625
+ 146
626
+ 147
627
+ 148
628
+ 149
629
+ 150
630
+ 151
631
+ 152
632
+ 153
633
+ 154
634
+ 155
635
+ 156
636
+ 157
637
+ 158
638
+ 159
639
+ 160
640
+ 161
641
+ 162
642
+ 163</pre>
643
+ </td>
644
+ <td>
645
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 127</span>
646
+
647
+ <span class='kw'>def</span> <span class='id identifier rubyid_deleteLast'>deleteLast</span><span class='lparen'>(</span><span class='rparen'>)</span>
648
+
649
+ <span class='comment'>#Si la lista no está vacía:
650
+ </span>
651
+ <span class='kw'>if</span> <span class='ivar'>@head</span> <span class='op'>!=</span> <span class='kw'>nil</span>
652
+
653
+ <span class='comment'>#Desplazamos el head hasta la penúltima posición:
654
+ </span>
655
+ <span class='kw'>while</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span> <span class='op'>!=</span> <span class='kw'>nil</span>
656
+
657
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='ivar'>@head</span>
658
+
659
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
660
+
661
+ <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span> <span class='op'>=</span> <span class='id identifier rubyid_tmp'>tmp</span>
662
+
663
+ <span class='kw'>end</span>
664
+
665
+ <span class='comment'>#Ponemos el siguiente en la penúltima posición a nil:
666
+ </span>
667
+ <span class='id identifier rubyid_foo'>foo</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
668
+
669
+ <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span> <span class='op'>=</span> <span class='kw'>nil</span>
670
+
671
+ <span class='comment'>#Desplazamos nuevamente el head a la posición inicial:
672
+ </span>
673
+ <span class='kw'>while</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span> <span class='op'>!=</span> <span class='kw'>nil</span>
674
+
675
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span>
676
+
677
+ <span class='kw'>end</span>
678
+
679
+ <span class='kw'>end</span>
680
+
681
+ <span class='id identifier rubyid_foo'>foo</span>
682
+
683
+ <span class='kw'>end</span></pre>
684
+ </td>
685
+ </tr>
686
+ </table>
687
+ </div>
688
+
689
+ <div class="method_details ">
690
+ <h3 class="signature " id="each-instance_method">
691
+
692
+ #<strong>each</strong> &#x21d2; <tt>Any Type</tt>
693
+
694
+
695
+
696
+
697
+
698
+ </h3><div class="docstring">
699
+ <div class="discussion">
700
+
701
+ <div class="note notetag">
702
+ <strong>Note:</strong>
703
+ <div class='inline'>
704
+ <p>Función retorna los bloques que se indique por parámetro en la invocación
705
+ del método</p>
706
+ </div>
707
+ </div>
708
+
709
+
710
+ <p>Returns Bloques seleccionados</p>
711
+
712
+
713
+ </div>
714
+ </div>
715
+ <div class="tags">
716
+
717
+ <p class="tag_title">Returns:</p>
718
+ <ul class="return">
719
+
720
+ <li>
721
+
722
+
723
+ <span class='type'>(<tt>Any Type</tt>)</span>
724
+
725
+
726
+
727
+ &mdash;
728
+ <div class='inline'>
729
+ <p>Bloques seleccionados</p>
730
+ </div>
731
+
732
+ </li>
733
+
734
+ </ul>
735
+
736
+ </div><table class="source_code">
737
+ <tr>
738
+ <td>
739
+ <pre class="lines">
740
+
741
+
742
+ 195
743
+ 196
744
+ 197
745
+ 198
746
+ 199
747
+ 200
748
+ 201
749
+ 202
750
+ 203
751
+ 204
752
+ 205
753
+ 206
754
+ 207</pre>
755
+ </td>
756
+ <td>
757
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 195</span>
758
+
759
+ <span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span>
760
+
761
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='ivar'>@head</span>
762
+
763
+ <span class='kw'>while</span> <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>do</span>
764
+
765
+ <span class='kw'>yield</span> <span class='id identifier rubyid_tmp'>tmp</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
766
+
767
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='id identifier rubyid_tmp'>tmp</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
768
+
769
+ <span class='kw'>end</span>
770
+
771
+ <span class='kw'>end</span></pre>
772
+ </td>
773
+ </tr>
774
+ </table>
775
+ </div>
776
+
777
+ <div class="method_details ">
778
+ <h3 class="signature " id="Node-instance_method">
779
+
780
+ #<strong>Estructura</strong>(Globalquerepresentar) &#x21d2; <tt>Object</tt>
781
+
782
+
783
+
784
+
785
+
786
+ </h3><div class="docstring">
787
+ <div class="discussion">
788
+
789
+
790
+ </div>
791
+ </div>
792
+ <div class="tags">
793
+
794
+
795
+
796
+
797
+ </div><table class="source_code">
798
+ <tr>
799
+ <td>
800
+ <pre class="lines">
801
+
802
+
803
+ 25</pre>
804
+ </td>
805
+ <td>
806
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 25</span>
807
+
808
+ <span class='const'>Struct</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Node</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:value</span><span class='comma'>,</span> <span class='symbol'>:prev</span><span class='comma'>,</span> <span class='symbol'>:next</span><span class='rparen'>)</span></pre>
809
+ </td>
810
+ </tr>
811
+ </table>
812
+ </div>
813
+
814
+ <div class="method_details ">
815
+ <h3 class="signature " id="putFirst-instance_method">
816
+
817
+ #<strong>putFirst</strong>(value) &#x21d2; <tt>Object</tt>
818
+
819
+
820
+
821
+
822
+
823
+ </h3><div class="docstring">
824
+ <div class="discussion">
825
+
826
+ <div class="note notetag">
827
+ <strong>Note:</strong>
828
+ <div class='inline'>
829
+ <p>Método por el cual se introduce un elemento por el principio</p>
830
+ </div>
831
+ </div>
832
+
833
+
834
+
835
+ </div>
836
+ </div>
837
+ <div class="tags">
838
+ <p class="tag_title">Parameters:</p>
839
+ <ul class="param">
840
+
841
+ <li>
842
+
843
+ <span class='name'>Valor</span>
844
+
845
+
846
+ <span class='type'>(<tt>Any Type</tt>)</span>
847
+
848
+
849
+
850
+ &mdash;
851
+ <div class='inline'>
852
+ <p>a introducir</p>
853
+ </div>
854
+
855
+ </li>
856
+
857
+ </ul>
858
+
859
+
860
+ </div><table class="source_code">
861
+ <tr>
862
+ <td>
863
+ <pre class="lines">
864
+
865
+
866
+ 38
867
+ 39
868
+ 40
869
+ 41
870
+ 42
871
+ 43
872
+ 44
873
+ 45
874
+ 46
875
+ 47
876
+ 48
877
+ 49</pre>
878
+ </td>
879
+ <td>
880
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 38</span>
881
+
882
+ <span class='kw'>def</span> <span class='id identifier rubyid_putFirst'>putFirst</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
883
+
884
+ <span class='comment'>#Inicializamos un nodo auxiliar con el valor a introducir
885
+ </span> <span class='comment'>#Y apuntando como siguiente a head:
886
+ </span>
887
+ <span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='const'>Struct</span><span class='op'>::</span><span class='const'>Node</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='ivar'>@head</span><span class='rparen'>)</span>
888
+
889
+ <span class='comment'>#Hacemos que el head tome el comportamiento del nodo creado
890
+ </span>
891
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span>
892
+
893
+ <span class='kw'>end</span></pre>
894
+ </td>
895
+ </tr>
896
+ </table>
897
+ </div>
898
+
899
+ <div class="method_details ">
900
+ <h3 class="signature " id="putLast-instance_method">
901
+
902
+ #<strong>putLast</strong>(value) &#x21d2; <tt>Object</tt>
903
+
904
+
905
+
906
+
907
+
908
+ </h3><div class="docstring">
909
+ <div class="discussion">
910
+
911
+ <div class="note notetag">
912
+ <strong>Note:</strong>
913
+ <div class='inline'>
914
+ <p>Función que permite añadir un nuevo nodo a la lista por el final</p>
915
+ </div>
916
+ </div>
917
+
918
+
919
+
920
+ </div>
921
+ </div>
922
+ <div class="tags">
923
+ <p class="tag_title">Parameters:</p>
924
+ <ul class="param">
925
+
926
+ <li>
927
+
928
+ <span class='name'>Valor</span>
929
+
930
+
931
+ <span class='type'>(<tt>Any Type</tt>)</span>
932
+
933
+
934
+
935
+ &mdash;
936
+ <div class='inline'>
937
+ <p>a introducir</p>
938
+ </div>
939
+
940
+ </li>
941
+
942
+ </ul>
943
+
944
+
945
+ </div><table class="source_code">
946
+ <tr>
947
+ <td>
948
+ <pre class="lines">
949
+
950
+
951
+ 76
952
+ 77
953
+ 78
954
+ 79
955
+ 80
956
+ 81
957
+ 82
958
+ 83
959
+ 84
960
+ 85
961
+ 86
962
+ 87
963
+ 88
964
+ 89
965
+ 90
966
+ 91
967
+ 92
968
+ 93
969
+ 94
970
+ 95
971
+ 96
972
+ 97
973
+ 98
974
+ 99
975
+ 100
976
+ 101
977
+ 102
978
+ 103
979
+ 104
980
+ 105
981
+ 106
982
+ 107
983
+ 108
984
+ 109
985
+ 110
986
+ 111
987
+ 112
988
+ 113
989
+ 114
990
+ 115
991
+ 116
992
+ 117
993
+ 118
994
+ 119
995
+ 120
996
+ 121
997
+ 122</pre>
998
+ </td>
999
+ <td>
1000
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 76</span>
1001
+
1002
+ <span class='kw'>def</span> <span class='id identifier rubyid_putLast'>putLast</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1003
+
1004
+ <span class='comment'>#Si aún no se ha introducido ningún nodo en la lista,
1005
+ </span> <span class='comment'>#tanto el head como el tail apuntarán al mismo nodo
1006
+ </span> <span class='comment'>#de lo contratio, añadiremos un nodo a continuación de tail:
1007
+ </span>
1008
+ <span class='kw'>if</span> <span class='ivar'>@head</span> <span class='op'>!=</span> <span class='kw'>nil</span>
1009
+
1010
+ <span class='comment'>#Desplazamos el head hasta la última posición:
1011
+ </span>
1012
+ <span class='kw'>while</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span> <span class='op'>!=</span> <span class='kw'>nil</span>
1013
+
1014
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='ivar'>@head</span>
1015
+
1016
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
1017
+
1018
+ <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span> <span class='op'>=</span> <span class='id identifier rubyid_tmp'>tmp</span>
1019
+
1020
+ <span class='kw'>end</span>
1021
+
1022
+ <span class='comment'>#Inicializamos un nodo auxiliar con el valor a introducir:
1023
+ </span>
1024
+ <span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='const'>Struct</span><span class='op'>::</span><span class='const'>Node</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='ivar'>@head</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1025
+
1026
+ <span class='comment'>#Colocamos el node a continuación del último
1027
+ </span>
1028
+ <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span>
1029
+
1030
+ <span class='comment'>#Desplazamos nuevamente el head a la posición inicial:
1031
+ </span>
1032
+ <span class='kw'>while</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span> <span class='op'>!=</span> <span class='kw'>nil</span>
1033
+
1034
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_prev'>prev</span>
1035
+
1036
+ <span class='kw'>end</span>
1037
+
1038
+ <span class='kw'>else</span>
1039
+
1040
+ <span class='comment'>#Creamos el nodo inicial:
1041
+ </span>
1042
+ <span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='const'>Struct</span><span class='op'>::</span><span class='const'>Node</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1043
+
1044
+ <span class='ivar'>@head</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span>
1045
+
1046
+ <span class='kw'>end</span>
1047
+
1048
+ <span class='kw'>end</span></pre>
1049
+ </td>
1050
+ </tr>
1051
+ </table>
1052
+ </div>
1053
+
1054
+ <div class="method_details ">
1055
+ <h3 class="signature " id="to_s-instance_method">
1056
+
1057
+ #<strong>to_s</strong> &#x21d2; <tt>String</tt>
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+ </h3><div class="docstring">
1064
+ <div class="discussion">
1065
+
1066
+ <div class="note notetag">
1067
+ <strong>Note:</strong>
1068
+ <div class='inline'>
1069
+ <p>Función que permite mostrar una salida formateada de la lista</p>
1070
+ </div>
1071
+ </div>
1072
+
1073
+
1074
+ <p>Returns String con el contenido de la lista</p>
1075
+
1076
+
1077
+ </div>
1078
+ </div>
1079
+ <div class="tags">
1080
+
1081
+ <p class="tag_title">Returns:</p>
1082
+ <ul class="return">
1083
+
1084
+ <li>
1085
+
1086
+
1087
+ <span class='type'>(<tt>String</tt>)</span>
1088
+
1089
+
1090
+
1091
+ &mdash;
1092
+ <div class='inline'>
1093
+ <p>String con el contenido de la lista</p>
1094
+ </div>
1095
+
1096
+ </li>
1097
+
1098
+ </ul>
1099
+
1100
+ </div><table class="source_code">
1101
+ <tr>
1102
+ <td>
1103
+ <pre class="lines">
1104
+
1105
+
1106
+ 168
1107
+ 169
1108
+ 170
1109
+ 171
1110
+ 172
1111
+ 173
1112
+ 174
1113
+ 175
1114
+ 176
1115
+ 177
1116
+ 178
1117
+ 179
1118
+ 180
1119
+ 181
1120
+ 182
1121
+ 183
1122
+ 184
1123
+ 185
1124
+ 186
1125
+ 187
1126
+ 188
1127
+ 189
1128
+ 190</pre>
1129
+ </td>
1130
+ <td>
1131
+ <pre class="code"><span class="info file"># File 'lib/prct06/linkedList.rb', line 168</span>
1132
+
1133
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span><span class='lparen'>(</span><span class='rparen'>)</span>
1134
+
1135
+ <span class='comment'>#Para no modificar la estructura de la lista,
1136
+ </span> <span class='comment'>#utilizaremos una variable temporal, la cual será
1137
+ </span> <span class='comment'>#desplazada al siguiente nodo en cada iteración:
1138
+ </span>
1139
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='ivar'>@head</span>
1140
+
1141
+ <span class='comment'>#String que almacenará el contenido a mostrar:
1142
+ </span>
1143
+ <span class='id identifier rubyid_aux'>aux</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
1144
+
1145
+ <span class='kw'>while</span> <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>!=</span> <span class='kw'>nil</span>
1146
+
1147
+ <span class='id identifier rubyid_aux'>aux</span> <span class='op'>+=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tmp'>tmp</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
1148
+
1149
+ <span class='id identifier rubyid_tmp'>tmp</span> <span class='op'>=</span> <span class='id identifier rubyid_tmp'>tmp</span><span class='period'>.</span><span class='id identifier rubyid_next'>next</span>
1150
+
1151
+ <span class='kw'>end</span>
1152
+
1153
+ <span class='id identifier rubyid_aux'>aux</span>
1154
+
1155
+ <span class='kw'>end</span></pre>
1156
+ </td>
1157
+ </tr>
1158
+ </table>
1159
+ </div>
1160
+
1161
+ </div>
1162
+
1163
+ </div>
1164
+
1165
+ <div id="footer">
1166
+ Generated on Tue Dec 13 16:00:37 2016 by
1167
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1168
+ 0.9.5 (ruby-2.3.0).
1169
+ </div>
1170
+
1171
+ </div>
1172
+ </body>
1173
+ </html>