100% found this document useful (3 votes)
14 views

Complete Download (eBook PDF) Data Structures and Other Objects Using Java 4th Edition PDF All Chapters

The document promotes various Java-related eBooks available for download on ebookluna.com, including titles focused on data structures and problem-solving using Java. It outlines the educational approach of teaching data structures, emphasizing the understanding of abstract data types, implementation, and analysis. Additionally, it highlights advanced projects and flexibility in course material ordering for instructors.

Uploaded by

kellankaldas21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
14 views

Complete Download (eBook PDF) Data Structures and Other Objects Using Java 4th Edition PDF All Chapters

The document promotes various Java-related eBooks available for download on ebookluna.com, including titles focused on data structures and problem-solving using Java. It outlines the educational approach of teaching data structures, emphasizing the understanding of abstract data types, implementation, and analysis. Additionally, it highlights advanced projects and flexibility in course material ordering for instructors.

Uploaded by

kellankaldas21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Get the full ebook with Bonus Features for a Better Reading Experience on ebookluna.

com

(eBook PDF) Data Structures and Other Objects


Using Java 4th Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-
other-objects-using-java-4th-edition/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookluna.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

(eBook PDF) Data Structures and Problem Solving Using Java


4th Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-problem-
solving-using-java-4th-edition/

ebookluna.com

(eBook PDF) Data Structures and Abstractions with Java 4th


Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-
abstractions-with-java-4th-edition/

ebookluna.com

(eBook PDF) Data Structures and Abstractions with Java 4th


Global Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-
abstractions-with-java-4th-global-edition/

ebookluna.com

(eBook PDF) Starting Out with Java: From Control


Structures through Data Structures 4th Edition

https://ebookluna.com/product/ebook-pdf-starting-out-with-java-from-
control-structures-through-data-structures-4th-edition/

ebookluna.com
Data Structures and Abstractions with Java 5th Edition
(eBook PDF)

https://ebookluna.com/product/data-structures-and-abstractions-with-
java-5th-edition-ebook-pdf/

ebookluna.com

(eBook PDF) Starting Out with Java: From Control


Structures through Objects, 7th Edition

https://ebookluna.com/product/ebook-pdf-starting-out-with-java-from-
control-structures-through-objects-7th-edition/

ebookluna.com

(eBook PDF) Starting Out with Java: From Control


Structures through Data Structures 3rd Edition

https://ebookluna.com/product/ebook-pdf-starting-out-with-java-from-
control-structures-through-data-structures-3rd-edition/

ebookluna.com

(eBook PDF) Introduction to JAVA Programming and Data


Structures Comprehensive Version 11

https://ebookluna.com/product/ebook-pdf-introduction-to-java-
programming-and-data-structures-comprehensive-version-11/

ebookluna.com

(eBook PDF) Java Foundations: Introduction to Program


Design and Data Structures 5th Edition

https://ebookluna.com/product/ebook-pdf-java-foundations-introduction-
to-program-design-and-data-structures-5th-edition/

ebookluna.com
Preface vii

each method is presented along with a precondition/postcondition contract that


completely specifies the behavior of the method. At this level, it’s important for
the students to realize that the specification is not tied to any particular choice of
implementation techniques. In fact, this same specification may be used several
times for several different implementations of the same data type.

Step 3: Use the Data Type. With the specification in place, students can write
small applications or applets to show the data type in use. These applications are
based solely on the data type’s specification because we still have not tied down
the implementation.

Step 4: Select Appropriate Data Structures and Proceed to Design and


Implement the Data Type. With a good abstract understanding of the data
type, we can select an appropriate data structure, such as an array, a linked list of
nodes, or a binary tree of nodes. For many of our data types, a first design and
implementation will select a simple approach, such as an array. Later, we will
redesign and reimplement the same data type with a more complicated underly-
ing structure.
Because we are using Java classes, an implementation of a data type will have
the selected data structures (arrays, references to other objects, etc.) as private
instance variables of the class. In my own teaching, I stress the necessity for a
clear understanding of the rules that relate the private instance variables to the
abstract notion of the data type. I require each student to write these rules in clear
English sentences that are called the invariant of the abstract data type. Once the
invariant is written, students can proceed to implementing various methods. The
invariant helps in writing correct methods because of two facts: (a) Each method
(except the constructors) knows that the invariant is true when the method begins
its work; and (b) each method is responsible for ensuring that the invariant is
again true when the method finishes.

Step 5: Analyze the Implementation. Each implementation can be analyzed


for correctness, flexibility, and time analysis of the operations (using big-O
notation). Students have a particularly strong opportunity for these analyses
when the same data type has been implemented in several different ways.

Where Will the Students Be at the End of the Course?


At the end of our course, students understand the data types inside out. They
know how to use the data types and how to implement them in several ways.
They know the practical effects of the different implementation choices. The
students can reason about efficiency with a big-O analysis and can argue for the
correctness of their implementations by referring to the invariant of the ADT.
viii Preface

the data types in One of the lasting effects of the course is the specification, design, and imple-
this book are mentation experience. The improved ability to reason about programs is also
cut-down important. But perhaps most important of all is the exposure to classes that are
versions of the easily used in many situations. The students no longer have to write everything
Java Class from scratch. We tell our students that someday they will be thinking about a
Libraries problem, and they will suddenly realize that a large chunk of the work can be
done with a bag, a stack, a queue, or some such. And this large chunk of work is
work that they won’t have to do. Instead, they will pull out the bag or stack or
queue that they wrote this semester—using it with no modifications. Or, more
likely, they will use the familiar data type from a library of standard data types,
such as the proposed Java Class Libraries. In fact, the behavior of some data
types in this text is a cut-down version of the JCL, so when students take the step
to the real JCL, they will be on familiar ground—from the standpoint of how to
use the class and also having a knowledge of the considerations that went into
building the class.

Other Foundational Topics


Throughout the course, we also lay a foundation for other aspects of “real pro-
gramming,” with coverage of the following topics beyond the basic data struc-
tures material.

Object-Oriented Programming. The foundations of object-oriented pro-


gramming are laid by giving students a strong understanding of Java classes.
The important aspects of classes are covered early: the notion of a method, the
separation into private and public members, the purpose of constructors, and a
small exposure to cloning and testing for equality. This is primarily covered in
Chapter 2, some of which can be skipped by students with a good exposure to
Java classes in the CS1 course.
Further aspects of classes are introduced when the classes first use dynamic
arrays (Chapter 3). At this point, the need for a more sophisticated clone method
is explained. Teaching this OOP method with the first use of dynamic memory
has the effect of giving the students a concrete picture of how an instance vari-
able is used as a reference to a dynamic object such as an array.
Conceptually, the largest innovation of OOP is the software reuse that occurs
via inheritance. There are certainly opportunities for introducing inheritance
right from the start of a data structures course (such as implementing a set class
as a descendant of a bag class). However, an early introduction may also result
in students juggling too many new concepts at once, resulting in a weaker under-
standing of the fundamental data structures. Therefore, in my own course, I intro-
duce inheritance at the end as a vision of things to come. But the introduction to
inheritance (Sections 13.1 and 13.2) could be covered as soon as classes are
understood. With this in mind, some instructors may wish to cover Chapter 13
earlier, just before stacks and queues, so that stacks and queues can be derived
from another class.
Preface ix

Another alternative is to identify students who already know the basics of


classes. These students can carry out an inheritance project (such as the ecosys-
tem of Section 13.3), while the rest of the students first learn about classes.

Java Objects. The Java Object type lies at the base of all the other Java
types—or at least almost all the other types. The eight primitive types are not
Java objects, and for many students, the CS1 work has been primarily with the
eight primitive types. Because of this, the first few data structures are collec-
tions of primitive values, such as a bag of integers or a sequence of double num-
bers.

Iterators. Iterators are an important part of the Java Class Libraries, allowing
a programmer to easily step through the elements in a collection class. The
Iteratable interface is introduced in Chapter 5. Throughout the rest of the
text, iterators are not directly used, although they provide a good opportunity for
programming projects, such as using a stack to implement an iterator for a
binary search tree (Chapter 9).

Recursion. First-semester courses often introduce students to recursion. But


many of the first-semester examples are tail recursion, where the final act of the
method is the recursive call. This may have given students a misleading impres-
sion that recursion is nothing more than a loop. Because of this, I prefer to avoid
early use of tail recursion in a second-semester course.
So, in our second-semester course, we emphasize recursive solutions that use
more than tail recursion. The recursion chapter provides four examples along
these lines. Two of the examples—generating random fractals and traversing a
maze—are big hits with the students. The fractal example runs as a graphical
applet, and although the maze example is text based, an adventurous student can
convert it to a graphical applet. These recursion examples (Chapter 8) appear just
before trees (Chapter 9) since it is within recursive tree algorithms that recursion
becomes vital. However, instructors who desire more emphasis on recursion can
move that topic forward, even before Chapter 2.
In a course that has time for advanced tree projects (Chapter 10), we analyze
the recursive tree algorithms, explaining the importance of keeping the trees
balanced—both to improve worst-case performance and to avoid potential
execution stack overflow.

Searching and Sorting. Chapters 11 and 12 provide fundamental coverage of


searching and sorting algorithms. The searching chapter reviews binary search
of an ordered array, which many students will have seen before. Hash tables are
also introduced in the search chapter by implementing a version of the JCL hash
table and also a second hash table that uses chaining instead of open addressing.
The sorting chapter reviews simple quadratic sorting methods, but the majority
of the chapter focuses on faster algorithms: the recursive merge sort (with
worst-case time of O(n log n)), Tony Hoare’s recursive quicksort (with average-
time O(n log n)), and the tree-based heapsort (with worst-case time of O(n log n)).
x Preface

Advanced Projects, Including Concurrency


The text offers good opportunities for optional projects that can be undertaken
by a more advanced class or by students with a stronger background in a large
class. Particular advanced projects include the following:
• Interactive applet-based test programs for any of the data structures (out-
lined in Appendix I).
• Implementing an iterator for the sequence class (see Chapter 5 Program-
ming Projects).
• Writing a deep clone method for a collection class (see Chapter 5 Pro-
gramming Projects).
• Writing an applet version of an application program (such as the maze tra-
versal in Section 8.2 or the ecosystem in Section 13.3).
• Using a stack to build an iterator for the binary search tree (see Chapter 9
Programming Projects).
• A priority queue implemented as an array of ordinary queues (Section
7.4) or implemented using a heap (Section 10.1).
• A set class implemented with B-trees (Section 10.2). I have made a partic-
ular effort on this project to provide sufficient information for students to
implement the class without need of another text. Advanced students have
successfully completed this project as independent work.
• Projects to support concurrent sorting in the final section of Chapter 12.
• An inheritance project, such as the ecosystem of Section 13.3.
• A graph class and associated graph algorithms in Chapter 14. This is
another case in which advanced students may do work on their own.

Java Language Versions


All the source code in the book has been tested to work correctly with Java 2
Standard Edition Version 7.0, including new features such as generics and new
concurrency support. Information on all of the Java products from Sun Micro-
systems is available at http://java.sun.com/products/index.html.
Flexibility of Topic Ordering
This book was written to give instructors latitude in reordering the material to
meet the specific background of students or to add early emphasis to selected
topics. The dependencies among the chapters are shown on the next page. A line
joining two boxes indicates that the upper box should be covered before the
lower box.
Here are some suggested orderings of the material:
Typical Course. Start with Chapters 1–9, skipping parts of Chapter 2 if the
students have a prior background in Java classes. Most chapters can be covered
in a week, but you may want more time for Chapter 4 (linked lists), Chapter 8
(recursion), or Chapter 9 (trees). Typically, I cover the material in 13 weeks,
Preface xi

Chapter Dependencies

At the start of the course, students should be comfortable writing


application programs and using arrays in Java.

Chapter 1
Introduction

Chapters 2–3
Classes
Reference variables
Collection classes Chapter 8
Recursion
Chapter 2 can be skipped by students
with a good background in Java classes.

Section 11.1
Chapter 4
Binary search
Linked lists
Chapter 13
Extended classes
Sections 5.1–5.4 Sec. 11.2–11.3
Generic programming Hash tables
(Also requires
Chapter 5)
Sections 5.5–5.7 Chapter 6
The Java API Stacks
Chapter 12
Iterators Sorting
Java collections (Heapsort also
Java maps Chapter 7 Chapter 9
needs Section
Queues Trees
10.1)

Section 10.1 Section 10.2 Section 10.3


Heaps B-trees Java trees

The shaded boxes provide


Section 10.4 Chapter 14
good opportunities for
Detailed tree analysis Graphs
advanced work.
xii Preface

including time for exams and extra time for linked lists and trees. Remaining
weeks can be spent on a tree project from Chapter 10 or on binary search (Sec-
tion 11.1) and sorting (Chapter 12).
Heavy OOP Emphasis. If students will cover sorting and searching else-
where, then there is time for a heavier emphasis on object-oriented program-
ming. The first three chapters are covered in detail, and then derived classes
(Section 13.1) are introduced. At this point, students can do an interesting OOP
project, perhaps based on the ecosystem of Section 13.3. The basic data struc-
tures (Chapters 4 –7) are then covered, with the queue implemented as a derived
class (Section 13.4). Finish up with recursion (Chapter 8) and trees (Chapter 9),
placing special emphasis on recursive methods.
Accelerated Course. Assign the first three chapters as independent reading in
the first week and start with Chapter 4 (linked lists). This will leave two to three
extra weeks at the end of the term so that students can spend more time on
searching, sorting, and the advanced topics (shaded in the chapter dependencies
list).
I also have taught the course with further acceleration by spending no lecture
time on stacks and queues (but assigning those chapters as reading).
Early Recursion / Early Sorting. One to three weeks may be spent at the
start of class on recursive thinking. The first reading will then be Chapters 1 and
8, perhaps supplemented by additional recursive projects.
If the recursion is covered early, you may also proceed to cover binary search
(Section 11.1) and most of the sorting algorithms (Chapter 12) before introduc-
ing collection classes.

Supplements Via the Internet


The following materials are available to all readers of this text at cssup-
port.pearsoncmg.com (or alternatively at www.cs.colorado.edu/~main/
dsoj.html):
• Source code
• Errata
In addition, the following supplements are available to qualified instructors.
Visit Addison-Wesley’s Instructor Resource Center (www.aw.com/irc) or con-
tact your local Addison-Wesley representative for access to these:
• PowerPoint® presentations
• Exam questions
• Solutions to selected programming projects
• Speaker notes
• Sample assignments
• Suggested syllabi
Preface xiii

Acknowledgments
This book grew from joint work with Walter Savitch, who continues to be an
ever-present and enthusiastic supporter, colleague, and friend. My students from
the University of Colorado at Boulder serve to provide inspiration and joy at
every turn, particularly the spring seminars in Natural Computing and Ideas in
Computing. During the past few years, the book has also been extensively
reviewed by J.D. Baker, Philip Barry, Arthur Crummer, Herbert Dershem, Greg
Dobbins, Zoran Duric, Dan Grecu, Scott Grissom, Bob Holloway, Rod Howell,
Danny Krizanc, Ran Libeskind-Hadas, Meiliu Lu, Catherine Matthews, Robert
Moll, Robert Pastel, Don Slater, Ryan Stansifer, Deborah Trytten, and John
Wegis. I thank these colleagues for their excellent critique and their encourage-
ment.
At Addison-Wesley, I thank Tracy Dunkelberger, Michael Hirsch, Bob
Engelhardt, and Stephanie Sellinger, who have provided continual support and
knowledgeable advice.
I also thank my friends and colleagues who have given me daily
encouragement and friendship during the writing of this fourth edition: Andrzej
Ehrenfeucht, Marga Powell, Grzegorz Rozenberg, and Allison Thompson-
Brown, and always my family: Janet, Tim, Hannah, Michelle, and Paul.

Michael Main (main@colorado.edu)


Boulder, Colorado
xiv Preface

Chapter List

Chapter 1 THE PHASES OF SOFTWARE DEVELOPMENT 1


Chapter 2 JAVA CLASSES AND INFORMATION HIDING 38
Chapter 3 COLLECTION CLASSES 103
Chapter 4 LINKED LISTS 175
Chapter 5 GENERIC PROGRAMMING 251
Chapter 6 STACKS 315
Chapter 7 QUEUES 360
Chapter 8 RECURSIVE THINKING 409
Chapter 9 TREES 453
Chapter 10 TREE PROJECTS 520
Chapter 11 SEARCHING 567
Chapter 12 SORTING 614
Chapter 13 SOFTWARE REUSE WITH EXTENDED CLASSES 675
Chapter 14 GRAPHS 728

APPENDIXES 775
INDEX 815
Contents xv

Contents
CHAPTER 1 THE PHASES OF SOFTWARE DEVELOPMENT 1
1.1 Specification, Design, Implementation 4
Design Technique: Decomposing the Problem 5
How to Write a Specification for a Java Method 6
Pitfall: Throw an Exception to Indicate a Failed Precondition 9
Temperature Conversion: Implementation 10
Programming Tip: Use Javadoc to Write Specifications 13
Programming Tip: Use Final Variables to Improve Clarity 13
Programming Tip: Make Exception Messages Informative 14
Programming Tip: Format Output with System.out.printf 14
Self-Test Exercises for Section 1.1 15
1.2 Running Time Analysis 16
The Stair-Counting Problem 16
Big-O Notation 21
Time Analysis of Java Methods 23
Worst-Case, Average-Case, and Best-Case Analyses 25
Self-Test Exercises for Section 1.2 26
1.3 Testing and Debugging 26
Choosing Test Data 27
Boundary Values 27
Fully Exercising Code 28
Pitfall: Avoid Impulsive Changes 29
Using a Debugger 29
Assert Statements 29
Turning Assert Statements On and Off 30
Programming Tip: Use a Separate Method for Complex Assertions 32
Pitfall: Avoid Using Assertions to Check Preconditions 34
Static Checking Tools 34
Self-Test Exercises for Section 1.3 34
Chapter Summary 35
Solutions to Self-Test Exercises 36

CHAPTER 2 JAVA CLASSES AND INFORMATION HIDING 38


2.1 Classes and Their Members 40
Defining a New Class 41
Instance Variables 41
Constructors 42
No-Arguments Constructors 43
Methods 43
Accessor Methods 44
Programming Tip: Four Reasons to Implement Accessor Methods 44
Pitfall: Division Throws Away the Fractional Part 45
Programming Tip: Use the Boolean Type for True or False Values 46
Modification Methods 46
Pitfall: Potential Arithmetic Overflows 48
Complete Definition of Throttle.java 48
Methods May Activate Other Methods 51
Self-Test Exercises for Section 2.1 51
xvi Contents

2.2 Using a Class 52


Creating and Using Objects 52
A Program with Several Throttle Objects 53
Null References 54
NullPointerException 55
Assignment Statements with Reference Variables 55
Clones 58
Testing for Equality 58
Terminology Controversy: “The Throttle That t Refers To” 59
Self-Test Exercises for Section 2.2 59
2.3 Packages 60
Declaring a Package 60
The Import Statement to Use a Package 63
The JCL Packages 63
More about Public, Private, and Package Access 63
Self-Test Exercises for Section 2.3 65
2.4 Parameters, Equals Methods, and Clones 65
The Location Class 66
Static Methods 72
Parameters That Are Objects 73
Methods May Access Private Instance Variables of Objects in Their Own Class 74
The Return Value of a Method May Be an Object 75
Programming Tip: How to Choose the Names of Methods 76
Java’s Object Type 77
Using and Implementing an Equals Method 77
Pitfall: ClassCastException 80
Every Class Has an Equals Method 80
Using and Implementing a Clone Method 81
Pitfall: Older Java Code Requires a Typecast for Clones 81
Programming Tip: Always Use super.clone for Your Clone Method 85
Programming Tip: When to Throw a Runtime Exception 85
A Demonstration Program for the Location Class 85
What Happens When a Parameter Is Changed Within a Method? 86
Self-Test Exercises for Section 2.4 89
2.5 The Java Class Libraries 90
Chapter Summary 92
Solutions to Self-Test Exercises 93
Programming Projects 95
Contents xvii

CHAPTER 3 COLLECTION CLASSES 103


3.1 A Review of Java Arrays 104
Pitfall: Exceptions That Arise from Arrays 106
The Length of an Array 106
Assignment Statements with Arrays 106
Clones of Arrays 107
The Arrays Utility Class 108
Array Parameters 110
Programming Tip: Enhanced For-Loops for Arrays 111
Self-Test Exercises for Section 3.1 112
3.2 An ADT for a Bag of Integers 113
The Bag ADT—Specification 114
OutOfMemoryError and Other Limitations for Collection Classes 118
The IntArrayBag Class—Specification 118
The IntArrayBag Class—Demonstration Program 122
The IntArrayBag Class—Design 125
The Invariant of an ADT 126
The IntArrayBag ADT—Implementation 127
Programming Tip: Cloning a Class That Contains an Array 136
The Bag ADT—Putting the Pieces Together 137
Programming Tip: Document the ADT Invariant in the Implementation File 141
The Bag ADT—Testing 141
Pitfall: An Object Can Be an Argument to Its Own Method 142
The Bag ADT—Analysis 142
Self-Test Exercises for Section 3.2 144
3.3 Programming Project: The Sequence ADT 145
The Sequence ADT—Specification 146
The Sequence ADT—Documentation 150
The Sequence ADT—Design 150
The Sequence ADT—Pseudocode for the Implementation 156
Self-Test Exercises for Section 3.3 158
3.4 Programming Project: The Polynomial 159
Self-Test Exercises for Section 3.4 162
3.5 The Java HashSet and Iterators 162
The HashSet Class 162
Some of the HashSet Members 162
Iterators 163
Pitfall: Do Not Access an Iterator’s next Item When hasNext Is False 164
Pitfall: Changing a Container Object Can Invalidate Its Iterator 164
Invalid Iterators 164
Self-Test Exercises for Section 3.5 165
Chapter Summary 165
Solutions to Self-Test Exercises 166
Programming Projects 169
xviii Contents

CHAPTER 4 LINKED LISTS 175


4.1 Fundamentals of Linked Lists 176
Declaring a Class for Nodes 177
Head Nodes, Tail Nodes 177
The Null Reference 178
Pitfall: NullPointerExceptions with Linked Lists 179
Self-Test Exercises for Section 4.1 179
4.2 Methods for Manipulating Nodes 179
Constructor for the Node Class 180
Getting and Setting the Data and Link of a Node 180
Public Versus Private Instance Variables 181
Adding a New Node at the Head of a Linked List 182
Removing a Node from the Head of a Linked List 183
Adding a New Node That Is Not at the Head 185
Removing a Node That Is Not at the Head 188
Pitfall: NullPointerExceptions with removeNodeAfter 191
Self-Test Exercises for Section 4.2 191
4.3 Manipulating an Entire Linked List 192
Computing the Length of a Linked List 193
Programming Tip: How to Traverse a Linked List 196
Pitfall: Forgetting to Test the Empty List 197
Searching for an Element in a Linked List 197
Finding a Node by Its Position in a Linked List 198
Copying a Linked List 200
A Second Copy Method, Returning Both Head and Tail References 204
Programming Tip: A Method Can Return an Array 205
Copying Part of a Linked List 206
Using Linked Lists 207
Self-Test Exercises for Section 4.3 214
4.4 The Bag ADT with a Linked List 215
Our Second Bag—Specification 215
The grab Method 219
Our Second Bag—Class Declaration 219
The Second Bag—Implementation 220
Programming Tip: Cloning a Class That Contains a Linked List 223
Programming Tip: How to Choose between Different Approaches 225
The Second Bag—Putting the Pieces Together 229
Self-Test Exercises for Section 4.4 232
4.5 Programming Project: The Sequence ADT with a Linked List 232
The Revised Sequence ADT—Design Suggestions 232
The Revised Sequence ADT—Clone Method 235
Self-Test Exercises for Section 4.5 238
4.6 Beyond Simple Linked Lists 239
Arrays Versus Linked Lists and Doubly Linked Lists 239
Dummy Nodes 240
Java’s List Classes 241
ListIterators 242
Making the Decision 243
Self-Test Exercises for Section 4.6 244
Chapter Summary 244
Solutions to Self-Test Exercises 245
Programming Projects 248
Contents xix

CHAPTER 5 GENERIC PROGRAMMING 251


5.1 Java’s Object Type and Wrapper Classes 252
Widening Conversions 253
Narrowing Conversions 254
Wrapper Classes 256
Autoboxing and Auto-Unboxing Conversions 256
Advantages and Disadvantages of Wrapper Objects 257
Self-Test Exercises for Section 5.1 257
5.2 Object Methods and Generic Methods 258
Object Methods 259
Generic Methods 259
Pitfall: Generic Method Restrictions 260
Self-Test Exercises for Section 5.2 261
5.3 Generic Classes 262
Writing a Generic Class 262
Using a Generic Class 262
Pitfall: Generic Class Restrictions 263
Details for Implementing a Generic Class 263
Creating an Array to Hold Elements of the Unknown Type 263
Retrieving E Objects from the Array 264
Warnings in Generic Code 264
Programming Tip: Suppressing Unchecked Warnings 265
Using ArrayBag as the Type of a Parameter or Return Value 266
Counting the Occurrences of an Object 266
The Collection Is Really a Collection of References to Objects 267
Set Unused References to Null 269
Steps for Converting a Collection Class to a Generic Class 269
Deep Clones for Collection Classes 271
Using the Bag of Objects 279
Details of the Story-Writing Program 282
Self-Test Exercises for Section 5.3 282
5.4 Generic Nodes 283
Nodes That Contain Object Data 283
Pitfall: Misuse of the equals Method 283
Other Collections That Use Linked Lists 285
Self-Test Exercises for Section 5.4 285
5.5 Interfaces and Iterators 286
Interfaces 286
How to Write a Class That Implements an Interface 287
Generic Interfaces and the Iterable Interface 287
How to Write a Generic Class That Implements a Generic Interface 288
The Lister Class 289
Pitfall: Don’t Change a List While an Iterator Is Being Used 291
The Comparable Generic Interface 292
Parameters That Use Interfaces 293
Using instanceof to Test Whether a Class Implements an Interface 294
The Cloneable Interface 295
Self-Test Exercises for Section 5.5 295
xx Contents

5.6 A Generic Bag Class That Implements the Iterable Interface (Optional Section) 296
Programming Tip: Enhanced For-Loops for the Iterable Interface 297
Implementing a Bag of Objects Using a Linked List and an Iterator 298
Programming Tip: External Iterators Versus Internal Iterators 298
Summary of the Four Bag Implementations 299
Self-Test Exercises for Section 5.6 299
5.7 The Java Collection Interface and Map Interface (Optional Section) 300
The Collection Interface 300
The Map Interface and the TreeMap Class 300
The TreeMap Class 302
The Word Counting Program 305
Self-Test Exercises for Section 5.7 306
Chapter Summary 309
Solutions to Self-Test Exercises 310
Programming Projects 312

CHAPTER 6 STACKS 315


6.1 Introduction to Stacks 316
The Stack Class—Specification 317
We Will Implement a Generic Stack 319
Programming Example: Reversing a Word 319
Self-Test Exercises for Section 6.1 320
6.2 Stack Applications 320
Programming Example: Balanced Parentheses 320
Programming Tip: The Switch Statement 324
Evaluating Arithmetic Expressions 325
Evaluating Arithmetic Expressions—Specification 325
Evaluating Arithmetic Expressions—Design 325
Implementation of the Evaluate Method 329
Evaluating Arithmetic Expressions—Testing and Analysis 333
Evaluating Arithmetic Expressions—Enhancements 334
Self-Test Exercises for Section 6.2 334
6.3 Implementations of the Stack ADT 335
Array Implementation of a Stack 335
Linked List Implementation of a Stack 341
Self-Test Exercises for Section 6.3 344
6.4 More Complex Stack Applications 345
Evaluating Postfix Expressions 345
Translating Infix to Postfix Notation 348
Using Precedence Rules in the Infix Expression 350
Correctness of the Conversion from Infix to Postfix 353
Self-Test Exercises for Section 6.4 354
Chapter Summary 354
Solutions to Self-Test Exercises 355
Programming Projects 356
Random documents with unrelated
content Scribd suggests to you:
de una felicidad plena, redonda y definitiva. Sino fuera por el jactancioso
ruido del tren, oiríanse, de seguro, las voces de su canto. No se concebía a
aquel hombre en aquella hora sino cantando.
Reía entre tanto la naturaleza, y cada nimio detalle del paisaje se revestía
de una íntima belleza. En el paisaje aquel, tan simple y sobrio, faltaban los
elementos teatrales y decorativos. Pero había un amable encanto en la
hierba matizada de rocío, en la lechuza que se posaba sobre un poste y abría
sus curiosas y atónitas pupilas circulares, en las ovejas que pastaban, en el
desbande de las aves azoradas, en la cómica expectación de los novillos
ante el paso ruidoso del tren. Y, sobre todo, en la luz purísima que inundaba
la llanura, aquella infinita llanura que se abría delante de la imaginación
como un concepto casi metafísico de la libertad y de lo inconmensurable.
Y yo pensé: ¿Somos más felices los hombres porque amontonemos
mayor número de útiles, de necesidades y de ideas? Aquel rancho[22]
perdido en la llanura, aquellos dos sauces, el fogón encendido, la mujer que
se queda amamantando a su criatura y el hombre que sale a cabalgar serena
y noblemente, ¿no representaban la suma de las cosas y de las emociones
que requiere un hombre para sentirse bien dentro del universo y cara a la
vida? En aquella cabaña se habían reducido las necesidades hasta el
mínimo. Siendo tan pocas las exigencias, el alma, en aquella parquedad de
apetitos, debía pensar que el mundo era aún demasiado pródigo. Era la
antítesis de la gran metrópoli, de la ciudad insaciable y codiciosa, de la urbe
consumida por las pasiones. La ciudad no se satisfacía nunca. Anhelaba
siempre más, nuevas formas de placer y de molicie. Las grandes fábricas
gemían continuamente para producir los útiles, tan caros a la civilización;
los hombres de ciencia alargaban sus vigilias para sorprender una nueva
invención; y corrían los barcos y los trenes, acarreando cosas aptas para la
molicie del hombre, y las calles se llenaban de fiebre, los Bancos
multiplicaban sus negocios, el mundo entero vibraba al conjuro del
universal anhelo. Todo para que unos hombres pudieran usar cosas
agradables, y todo para que la vida se llenase de complicación. Lujo,
vanidad, automóviles, timbres eléctricos, ascensores, teléfonos, bebidas
heladas, salsas, especies, vinos espumantes, vestidos de seda, sombreros
increíbles. Para satisfacer estas necesidades artificiosas, el mundo llenábase
de inquietudes, estallaban las guerras, morían los miserables en los
rincones.
En ese rancho perdido en mitad de la llanura ¿qué faltaba? La vida no
reclamaba sino tres o cuatro casos simples: un pedazo de carne asada, una
infusión de “mate”, y, como lujo, una galleta dura. Quizá un poco de tabaco
para las horas de reposo. Y en los días de fiesta, un trago de ginebra. Para
dormir, el sagrado suelo. Y en las noches tibias, tener como techumbre el
cielo, empavesado de estrellas.
He ahí una razón fundamental: la vida conquistada a bajo precio. Pero la
otra razón, la que se apoya sobre los intereses eternos, colectivos,
universales, arguye que ese plan de vida es ruinoso, y que al simplificar las
necesidades, reduciendo el radio de nuestros deseos, la civilización corre
apuro de malograrse. La civilización es un algo supremo, inasequible,
imponderable como el mismo Dios. Todos venimos a ofrecernos como
servidores de ese fetiche insaciable, y sudamos, padecemos, morimos entre
estertores de codicia, de vanidad o de ambición, a la mayor gloria del
progreso. Se nos dice que es humillante desertar de nuestro puesto. Y
efectivamente cumplimos con nuestro deber.
Por mi parte, yo siento en muchas ocasiones una fuerte intención de
desertar. Siempre que me sitúo enfrente de la naturaleza libre, ingenua y
pictórica, me asalta el mismo prurito de renunciar a mi corteza urbana,
quitarme el uniforme de civilizado, traicionar a la obra del progreso y
convertirme en un hombre sencillo.
He pensado seriamente en llegar a poder vivir así, como aquel paisano
que a lomo de su potro tordillo salía cantando de mañana por lo ancho de la
llanura. Renunciar a los numerosos detalles de la civilización, despreciar la
vestidura del placer, la apariencia sonora de la dicha, a cambio de la
verdadera felicidad. Reconciliarse con la salud, auténtica madre de la
alegría. Ejercitar las funciones corporales con una segura amplitud. Sentir la
plena conciencia de la normalidad del ser. Dormir sin achaques, de un largo
y robusto tirón. Cabalgar, vencer las dificultades que se oponen al músculo,
sudar, beber agua sana a grandes tragos. Respirar el viento sin temor, y
agradecerlo más aún cuanto más frío. Ofrecerse al sol sin veladuras ni
encogimientos. Recibir el golpe de la lluvia como una caricia. Curtirse la
piel, tensa como un pandero. Ver acostarse el sol, sin miedo al mañana.
Levantarse con el alba y agradecer con todas las fuerzas del cándido
espíritu la gracia de poder vivir un nuevo día...
CA P Í T UL O V

El Amor y la Queja

P OR las páginas del Martín Fierro corre constantemente un aura de queja


y de reproche melancólico, y esto da al poema cierta monotonía, como
de cancionero andaluz. Entre el gaucho y el andaluz existen
coincidencias de tono y de sentimientos tan marcadas, que otra vez me veré
inclinado a insistir sobre el paralelismo de dos pueblos que el Atlántico
separa, pero que el origen y el concepto de la vida mantienen siempre
unidos.
La queja del gaucho Martín Fierro va dirigida en dos direcciones: el
abuso social y los males del amor. En el fondo, sin duda, lo que el poeta
Hernández se propuso fué una patética e indignada recusación de los
móviles ciudadanos, y del plan abusivo de las ciudades costeñas, como
Buenos Aires, que henchidas de elementos inmigrantes, poseídas de un
torvo espíritu de presa y con una despiadada prisa por el éxito y por la
civilización a ultranza, arremetían contra el gaucho, lo hallaban reacio, lo
oprimían y lo expulsaban, arbitraria y brutalmente, de la tierra y del
usufructo del país. De modo que el poema del Martín Fierro viene a ser una
protesta de la tradición, del argentinismo, de la argentinidad histórica, y en
efecto marca la línea que divide las dos épocas: una puramente criolla, con
sus luchas políticas, sus violencias y también su generosidad romántica e
idealista, su apasionamiento noble; la otra época corresponde al moderno
contenido social, en que se ha levantado una nación ágil y ambiciosa, llena
de arrivismos y de irreverencias, confuso vientre donde pululan todos los
extranjerismos.
Esta defensa del gaucho oprimido y esquilmado forma el motivo del
poema. Pero la queja hubiera saltado de cualquier modo, porque la raíz del
criollismo pampeano consiste en un acatamiento a la ley de fatalidad, y en
una profunda e instintiva comprensión del duro e insuperable destino. El
criollo es fatalista como un andaluz; la parte de semitismo que heredara de
sus abuelos, se ve todavía corroborada por el fatalismo de las razas indias.
Sobre la negrura de su fatalismo, igual que en el alma andaluza; el criollo
vierte, a manera de relámpagos, sus chistes y donosidades, su graciosa
socarronería.
Las estrofas del Martín Fierro, por tanto, recuerdan directamente las
coplas andaluzas de la malagueña. Al comenzar un episodio, en cualquier
intervalo de su narración, Martín Fierro lanza al aire libre de la llanura
solitaria su queja, que es como una reconvención al destino.

Triste suena mi guitarra,


y el asunto lo requiere;
ninguno alegrías espere
sino sentidos lamentos,
de aquel que en duros tormentos
nace, crece, vive y muere.

Los últimos versos de esta estrofa recuerdan inmediatamente a nuestro


Segismundo de “La vida es sueño”. En el poema de Hernández hay otras
varias referencias a libros españoles, que iremos anotando después; el
Quijote está patente en el Martín Fierro, y la obsesión de Espronceda
obsérvase igualmente a lo largo del poema criollo. Los consejos que da el
viejo Vizcacha a un hijo de Fierro, son eco demasiado patente de las
advertencias que el presidiario hace al héroe de El Diablo Mundo.
La queja del gaucho se parece a la del andaluz; pero si en la copla
andaluza palpita frecuentemente la indignación, la violencia o el arrebato
pasional, en la estrofa criolla vaga un no sé qué de resignado y suave. Rara
vez suena la copla criolla a maldición y a rebeldía, como en el canto
andaluz; el gaucho gime con un tono más pasivo, más rendido y
caballeresco; hace, frente al desdén de su dama, no como el enamorado
andaluz, sino como el enamorado gallego o el galán provenzal.
Yo me atrevo a reproducir, dándole un valor totalmente representativo
del carácter sentimental criollo, esta vidalita, muy popular en las tierras del
Plata:
Palomita blanca,
vidalitá,
la que yo crié;
salió tan ingrata,
vidalitá,
que voló y se fué...

Toma aquí el sentimiento de un pueblo la expresión más resignada, triste


y vagorosa. Apenas si el enamorado osa protestar. Es como si admitiera la
ley del destino que convierte a la mujer en cosa deseable, frágil, bella,
fácilmente desvanecible. Admite la fatalidad, y como buen fatalista no
incurre en la inútil propensión a la ira y los desesperados ultrajes.
Se siente, pues, el gaucho obligado a una actitud de compostura frente al
desvío inevitable de la mujer. Y toma la postura del lamento según la buena
tradición romántica y caballeresca del galán desgraciado; se refugia, pues,
en la queja transcendental, en el suspiro y en el culto ácido de la ausencia.
La ausencia, como tema de erotismo desgraciado, llena el fondo del
cancionero popular argentino.
La copla andaluza exclama:

Entre Córdoba y Lucena


hay una laguna clara
donde lloraba mis penas
cuando de tí me acordaba.

Pero aun aquí resalta o se entrevé la esperanza de recuperar el amor


malogrado, o se presiente la secreta ira del amador que podrá acaso alguna
vez ejercitar su derecho a la venganza. El defraudado galán criollo se
contenta con gemir:

Palomita blanca,
remonta tu vuelo,
y al bien que yo adoro
dile que me muero...
También Martín Fierro colabora en esta propensión a la queja dulce y al
dolor de la ausencia. Azuzado por la justicia, pobre y errante, necesita poner
su memoria en la dama de sus pensamientos y canta:

Es triste dejar sus pagos


y largarse a tierra ajena,
llevándose el alma llena
de tormentos y dolores;
mas nos llevan los rigores
como el pampero[23] a la arena.

Cuántas veces al cruzar


en esa inmensa llanura,
al verse en tal desventura
y tan lejos de los suyos,
se tira uno entre los yuyos[24]
a llorar con amargura.

En la orilla de un arroyo
solitario lo pasaba,
en mil cosas cavilaba,
y a una güelta repentina
se me hacía ver a mi china
o escuchar que me llamaba.

Nada más justificado que el lamento criollo y ese tópico criollo de la


ausencia. Es una melancolía que llamaríamos territorial, topográfica. Y
ciertamente, si el gaucho encuentra algunas ocasiones de felicidad, su
posición en el mundo le hace apto para la melancolía.
No es que sea sombrío, ni que le falte lo esencial a la vida; en los buenos
tiempos de Martín Fierro, y aún ahora generalmente, el paisano[25] dispone
de un caballo en que trotar, el amor lo encuentra fácil, un cobertizo y un
poncho le son suficientes para cubrirse, y la carne, base casi única de su
alimentación, la cobra sin ninguna dificultad. El trabajo es fácil también.
Detesta el manejo de la azada y no gusta el oficio de labrador, que abandona
a los gringos; pero es insuperable caballista, cuida como nadie de los
ganados, sabe esquilar ovejas y domar potros y herrar lindamente, y es
inapreciable, insustituible, en una estancia[26]. Bebe, rasguea su guitarra,
canta por lo fino. Gallardea en las fiestas, y sobre su dócil caballo, a la
madrugada, tendido al galope y con el lazo revoleado diestramente en
medio de la manada cerril, siente sin duda el robusto goce de la vida plena,
libre y masculina.
Pero delante de sus ojos, ¡cómo es de igual y plana la llanura! He allí un
mar de hierba, monótono e inexorable como el Océano. Vagamente llega al
alma una tristeza que no es la del marino, porque el marino va, y el gaucho
no saldrá nunca de su profunda soledad. El jinete se endereza sobre su
corcel, y no columbra nada a lo lejos, ni un pueblo, ni una roca, ni un
campanario; acaso una cabaña, sombreada por un sauce llorón, o un
ombú[27], el solitario árbol de la Pampa que no forma nunca bosque. Sólo el
blanquear de las ovejas, y el mugido de los toros errantes y apaciguados. Un
amanecer de oro, un mediodía azul, un crepúsculo lleno de nostalgias. El
cielo y la llanura, tan anchos, tan infinitos, concluyen por parecer muros de
limitación... Sólo el viento pampero, de largo en largo, brota súbito como
del mismo seno de la llanura y hace estremecer los pajonales y retumba
siniestra y poderosamente en la infinita soledad del desierto.
CAP Í T U L O VI

El Cuchillo del Gaucho

P OR entre los versos del Martín Fierro brilla con frecuencia el cuchillo
de nuestro gaucho errante, y con esa arma compañera se consuman
hazañas increíbles, como el resistir en pleno campo abierto a un pelotón
de soldados policiales.
Viajando una vez por la provincia de Entre Ríos, cuyo paisaje algo seco
y surcado de pelados oteros recuerda bastante al campo de Castilla,
sorprendí un hombre a caballo, verdadera imagen del romancesco tipo del
gaucho. Ya no vestía chiripá, pero en su defecto portaba unos anchísimos
calzones bombachos, y sobre la erguida cabeza llevaba un sombrero
afieltrado, con masculino y coquetón talante. Al girar de espaldas, mostró
en el cinto, por la parte de los riñones, cruzado un largo cuchillo de punta
sutil. Mientras el tren arrancaba con enfática carrera, el hombre del caballo
y del cuchillo se internó serenamente en la llanura, bien tieso en su silla
nacional, impasible y orgulloso, como una página del pasado que se vuelve
y huye...
He nombrado el cuchillo, y la palabra no es justa del todo. El cuchillo o
facón gauchesco era más bien una espada. Sus dimensiones tenían una
prudente medida, y si era demasiado largo para cuchillo, quedaba algo corto
para llegar a espada. El gaucho no podía llevar una espada al cinto, como
un soldado de caballería; su manera violenta y continua de cabalgar, y su
deseo de no separarse nunca del arma fiel, le obligó a cortar la espada del
caballero o del hidalgo. La cruzó en la cintura, la sujetó a su cuerpo, y así
logró convertirla en algo indivisible con su persona.
Al referirme al cuchillo del gaucho hablo en pretérito, porque el arma
nacional de los ríoplatenses va desapareciendo, y sólo es usado tal vez en
las comarcas desviadas. El europeo ha traído el uso del revólver, arma fácil
y expedita que no requiere una maniobra tan complicada como aquel acero
filoso, únicamente eficaz cuando la mano, la vista y el corazón del gaucho
lo esgrimía en los imponentes entreveros[28].
Tampoco podía el europeo desenvolverse en el seno de la Naturaleza,
desafiarla y vencerla como el gaucho. Este hombre primitivo contaba
solamente con su voluntad y sus iniciativas. Situado en mitad del desierto,
se buscaba un camino, se orientaba por las huellas sutiles de la luz o del
color y sabor de las hierbas, y nada quedaba para él sin expresión, desde el
vuelo de las aves hasta el mugido de las bestias errabundas. Poco debía
contar con la justicia ni con los poderes constituidos; en último caso fiaba a
su acero la defensa de su familia y de su prestigio personal. El europeo,
debilitado por la civilización, procura reconciliarse con la Naturaleza, y al
reñir contra ella no marcha de frente, sino que la soslaya, y pone por medio
la mecánica de la industria y la otra mecánica de las leyes colectivas.
Un pueblo entero, libre y robusto, usaba hasta ayer mismo la espada del
caballero o del hidalgo, como hace dos o tres siglos la usaban en Europa las
gentes nobles. No se olvide que la espada significa libertad, aunque las
mentes un poco aturdidas por la democracia tomen esto por una blasfemia.
La espada no ha sido nunca negocio de esclavos, porque implica el sentido
de la mayor independencia personal. La espada hace sagrado el concepto de
la personalidad, y un hombre que la lleva al cinto está significando a todos
los otros hombres que su independencia personal comienza desde la misma
punta de su espada. Los caballeros del siglo XVI, llevando todos el signo
acerado y mortífero de la libertad, por imposición natural interponían entre
ellos la virtud más deseable y democrática: el respeto mutuo.
Así Pizarro, detenido en la isla del Gallo por las suspicacias de algunos
compañeros, cuando quiso arrastrar su gente a la gran aventura de
conquistar el Perú no osó proferir gritos y órdenes de mando, sino que sacó
la espada, rayó la tierra con un brusco ademán y empezó: ¡Señores...!
Aquellos hidalgos trajeron la espada a la llanura ríoplatense, y el gaucho,
pobre y errante como su progenitor, lleno de sus mismos prejuicios, reacio a
la industria, atento al honor y a la libertad más que al ahorro, fué un
testamentario y un continuador en América de la tradición castellana.
Cuando en la tierra originaria no quedaron hidalgos de espada al cinto, en la
Pampa vivía el gaucho una vida hidalguesca, con su caballo y su daga, su
puntillo de honor y su aventura.
No; no era para todos el manejo de la daga gauchesca. Nada tan
complicado como su esgrima, ni nada tan terrible como un hombre de
aquellos cuando enrollaba al brazo el poncho, se quitaba las grandes
espuelas y hacía brillar la hoja del cuchillo. A veces las pendencias duraban
mucho tiempo, y el sudor bañaba los rostros que la ira hacía enrojecer. Los
circunstantes formaban en círculo, y a nadie se le ocurría que podía
intervenir en aquel torneo legal y honroso. Juntos los pies de ambos
luchadores, casi abrazados los dos, hacían largo tiempo culebrear los
aceros, parándose los tajos con el poncho, ladeándose, evitándose como
ágiles reptiles. Un chirle en la cara era golpe muy apreciado, y a veces
bastaba la herida del rostro para lavar una ofensa. Pero los verdaderamente
bravos no se contentaban con tan poco. Martín Fierro era hábil en hundir el
cuchillo hasta la empuñadura.
Yo tenía un facón con S[29]
que era de lima de acero;
le hice un tiro, lo quitó
y vino ciego el moreno.

Y en el medio de las aspas


un planazo le asenté,
que lo largué culebriando
lo mesmo que buscapié.

Le coloriaron las motas


con la sangre de la herida,
y volvió a venir furioso
como una tigra parida.

Y ya me hizo relumbrar
por los ojos el cuchillo,
alcanzando por la punta
a cortarme en un carrillo.

Me hirvió la sangre en las venas


y me le afirmé al moreno,
dándole de punta y hacha
pa dejar un diablo menos.

Por fin en una topada


en el cuchillo lo alcé,
y como un saco de güesos
contra un cerco lo largué...

Acabada la riña, Martín Fierro atraviesa por entre los silenciosos


espectadores sin volver la mirada, convencido de que nadie habrá de poner
una objeción a su terrible y lógico comportamiento.
Limpié el facón en los pastos,
desaté mi redomón,
monté despacio, y salí
al tranco pa el cañadón...

En otro capítulo se verá la forma de pelea y el sentido de la muerte del


gaucho.
CAP Í T UL O VI I

Hazañas y Entreveros

E L uso consumado de la esgrima trae consigo una especie de culto de la


serenidad; el esgrimidor, por lo mismo que cuenta con su destreza y
quiere atestiguarla, se cuida mucho de mostrar una firme sangre fría al
momento de la pelea.
El gaucho hace esgrima desde que nace, y en su mano se convierte el
facón en un prodigio. No le gusta, por tanto, combatir de un modo brutal y
torpe; estima grato rodear el trance del peligro con el adorno de esas gracias
marciales que consisten en jactanciosas actitudes, ademanes despectivos y
palabras hirientes. Desde los tiempos del padre Homero, el hombre que fía
su riesgo a la entereza de su mano y de su espada ha sentido siempre el
trágico placer de irritar, de encolerizar al adversario, y demostrarle cuán
poco terror alberga el pecho que se prepara a combatir.
El gaucho es un buen hijo de español, y sufriría mucho si le privaran del
ácido y supremo placer de la jactancia varonil frente a la muerte. Ha
heredado del andaluz el culto del gesto y la graciosa arrogancia del
desplante masculino; antes de herir, se reserva el derecho de lanzar la frase
punzante y retadora. Sus riñas suelen tener un prefacio terrible,
emocionante, en que los contendientes se atacan con miradas y con palabras
frías, con frases de ambiguo sentido, con sonrisas que cortan.
Era natural que en un ambiente así apareciera el tipo del matón. Lo hubo
antes, y ahora mismo existe, sobre todo en los suburbios de las grandes
poblaciones. Llaman en Buenos Aires orilleros (sin duda por ser vecinos de
las orillas urbanas) a unas gentes confusas, bastante híbridas, formadas de
todos los restos de población indígena y forastera, con sedimentos criollos y
mucha aportación italiana, especialmente de las partes de Nápoles, Calabria
y Sicilia. En esta población circundante y procelosa surge con frecuencia el
tipo del guapo, del chulo, del apache, que en el lenguaje provincial del país
llaman compadrito. Antiguamente se titulaba compadre a secas, y la palabra
ha dado origen a un verbo muy usado, compadrear, que significa hacer el
gallo, el guapo o el valentón; pero en la chulería arrabalesca, allí como en
los bajos fondos sociales europeos, el valentón busca siempre la manera
diminutiva o afeminada de mostrar su terrible y repugnante masculinismo.
El compadre, pues, se convierte en compadrito, hombre pálido y cruel,
apachesco, fríamente sanguinario, portador del revólver o del cuchillo,
espejuelo de las infelices y deslumbradas mujeres, y diestro bailador de ese
soez tango argentino que, en efecto, los argentinos honrados nunca
quisieron bailar, y en Europa lo han bailado las atolondradas señoritas
linajudas.
Del gaucho Martín Fierro no se puede decir que sea un compadre
militante. Obedece, sí, a la ley de su patria, y tomando un poco más de
ginebra se siente algo provocador y demasiadamente dicharachero. Por
soltar con exceso la lengua se ve obligado una vez a reñir con un negro, al
que tiene la desgracia de rajar el vientre. Son cosas de la fatalidad, que hoy
toca a uno y mañana nos escogerá a nosotros. Efectivamente:
Otra vez en un boliche
estaba haciendo la tarde;
cayó un gaucho que hacía alarde
de guapo y de peliador.

A la llegada metió
el pingo hasta la ramada,
y yo sin decirle nada
me quedé en el mostrador.

Era un terne de aquel pago


que naides lo reprendía,
que sus enriedos tenía
con el señor Comendante.

Y como era protegido


andaba muy entonao,
y a cualquiera desgraciao
lo llevaba por delante.

¡Ah, pobre! ¡si él mismo creíba


que la vida le sobraba!
Ninguno diría que andaba
aguaitándolo la muerte.

Sabe ya Martín Fierro, desde la aparición del compadre en la pulpería,


que las cosas no podrán ir bien para todos. Antes de que estalle la tormenta,
el héroe hace unas cuantas reflexiones filosóficas, seguramente no exentas
de curiosidad.

Pero ansí pasa en el mundo,


es ansí la triste vida;
pa todos está escondida
la güena o la mala suerte...

Observad ahora la manera especial de desarrollarse una pendencia entre


gauchos:
Se tiró al suelo al dentrar,
le dió un empellón a un vasco,
y me alargó un medio frasco
diciendo: “Beba, cuñao.”
“Por su hermana, contesté,
que por la mía no hay cuidao.”

“¡Ah, gaucho!,” me respondió,


“¿de qué pago será crioyo?
¿Lo andará buscando el hoyo?
¿Deberá tener güen cuero?...
Pero ande bala este toro
no bala ningún ternero.”

Y ya salimos trenzaos,
porque el hombre no era lerdo;
mas como el tino no pierdo
y soy medio ligerón,
le dejé mostrando el sebo
de un revés con el facón.

Pero estas son riñas de uno contra uno, de forma caballeresca popular y
muy semejantes a las riñas de otros países. Donde se prueba el valor del
gaucho y la potencia de su cuchillo y de su esgrima, es en los entreveros de
uno contra muchos, o en la pelea contra un indio armado de boleadoras.
Me encontraba, como digo,
en aquella soledá,
entre tanta oscuridá
echando al viento mis quejas,
cuando el grito del chajá[30]
me hizo parar[31] las orejas.

Como lombriz me pegué


al suelo para escuchar;
pronto sentí retumbar
las pisadas de los fletes[32],
y que eran muchos jinetes
conocí sin cavilar...

Al punto me santigüé
y eché de giñebra un taco;
lo mesmito que el mataco[33]
me arrollé con el porrón.
“Si han de darme pa tabaco,
dije, esta es güena ocasión.”

Me refalé las espuelas


para no peliar con grillos,
me arremangué el calzoncillo
y me ajusté bien la faja;
y en una mata de paja
probé el filo del cuchillo...

Yo quise hacerles saber


que allí se hallaba un varón;
les conocí la intención
y solamente por eso
fué que les gané el tirón,
sin aguardar voz de preso.

“Vos[34] sos un gaucho matrero,”


dijo uno haciéndose el bueno
dijo uno, haciéndose el bueno.
“Vos matastes un moreno
y otro en una pulpería,
y aquí está la polecía
que quiere ajustar tus cuentas.
Te va a alzar por las cuarenta
si te resistís hoy día.”

“No me vengan, contesté,


con relación de difuntos;
esos son otros asuntos;
vean si me pueden llevar,
que yo no me he de entregar
aunque vengan todos juntos.”

Pero no aguardaron más


y se apiaron en montón.
Como a perro cimarrón
me rodiaron entre tantos.
Yo me encomendé a los Santos
y eché mano a mi facón...

¿No es cierto que nos figuramos leer un folletín de Alejandro Dumas o


de Fernández y González? Las estupendas luchas que nos describen las
novelas de capa y espada, podrán, y tienen de seguro muchas veces, una
parte importante de mentira. En nuestro caso no hay exageración, porque
los anales de la Pampa están llenos de empresas parecidas, y el honrado
José Hernández, además, rehuye siempre las narraciones hiperbólicas. El
gaucho Martín Fierro saca fuerzas de flaqueza, y aunque está solo en la
inmensidad, frente a varios hombres armados, sin más apoyo que su daga,
prefiere morir matando, y no que lo sacrifiquen miserablemente.
Para nuestra pasibilidad de hombres civilizados, urbanos y tímidos, la
actitud de un hombre luchando contra muchos nos resulta inverosímil. Pero
Martín Fierro no está precisamente solo. A nosotros nos serviría para poco
una daga punzante y un cuerpo más o menos dañado de artritismo; en
cambio Martín Fierro le saca a su facón imprevistas y maravillosas
aptitudes, y cada canto o punto de su daga es un resorte poderosísimo. En
cuanto a su cuerpo físico, él se estira y encoge como la goma, salta o se
soslaya, se acurruca o se acrecienta, se multiplica verdaderamente. Y hay,
además, la astucia.
Es así como un “hombre de guerra”, un guerrero de oficio, ha sido en la
Historia una cosa resistente y capaz de proezas increíbles. Los héroes de
Homero, por ejemplo, el Aquiles y el Agamenón y el Ayax, eran completos
y vigilantes esgrimidores que aterraban a sus enemigos. Cuando leemos en
los libros de Caballería que un solo guerrero combatía y derrotaba a
innúmeros adversarios, no todo cuanto nos cuentan es mentira. Un guerrero
antiguo, por virtud de la esgrima, del oficio y de la especial preparación del
alma, valía por muchos hombres juntos. El gendarme, el lansquenete, el
suizo, y sobre todo el caballero marcial a lo Rolando, Cid y Gonzalo de
Córdoba, hicieron en mucho tiempo imposible la formación de grandes y
eficaces ejércitos anónimos, democráticos, al estilo moderno.
Los enemigos de Martín Fierro traen, es verdad, alguna carabina; pero
aquellos pobres fusiles de pistón, sobra sin duda de los arsenales europeos,
no valen gran cosa.

Y ya vide el fogonazo
de un tiro de carabina;
mas quiso la suerte indina
de aquel maula, que me errase,
y ahí no más lo levantase
lo mesmo que una sardina...

Era tanta la afición


y la angurria[35] que tenían,
que tuítos se me venían
donde yo los esperaba;
uno al otro se estorbaban
y con las ganas no vían.

He aquí ahora que interviene la astucia, puesto que el guerrero ha de ser


listo en ardides:
Dos de ellos que traiban sables,
más garifos y resueltos,
en las hilachas envueltos
enfrente se me pararon,
y a un tiempo me atropellaron
lo mesmo que perros sueltos.

Me fuí reculando en falso


y el poncho adelante eché,
y cuando le puso el pie
uno medio chapetón[36],
de pronto le dí el tirón
y de espaldas lo largué...

Pegué un brinco y entre todos


sin miedo me entreveré.
echo ovillo me quedé,
y ya me cargó una yunta[37],
y por el suelo la punta
de mi facón les jugué.

El más engolosinao
se me apió con un hachazo;
se lo quité con el brazo,
de no, me mata los piojos;
y antes de que diera un paso
le eché tierra en los dos ojos.

Y mientras se sacudía
refregándose la vista,
yo me le fuí como lista
y ahí no más me le afirmé,
diciéndole: “Dios te asista”,
y de un revés lo voltié...
En fin, la feroz pelea de uno contra tantos acaba, o se precipita al
desenlace, cuando uno de los soldados, el sargento Cruz, se pasa al campo
de Martín Fierro, gritando aquella voz quijotesca:

...¡Cruz no consiente
que se cometa el delito
de matar ansí un valiente!
C AP Í T UL O VI I I

Los Indios

C UANDO un hombre se ponía fuera de la ley, quedábale antiguamente


en la Argentina el desesperado recurso de hacerse gaucho matrero,
oficio semejante al de nuestro histórico bandido de Sierra Morena. El
matrero se contentaba con robar ganado, que vendía a los falaces
intermediarios, y vagaba errante por la inmensidad de la llanura, libre y
abierta entonces.
Hoy la llanura se ve toda dividida y reglada por fuertes alambrados, que
si no impiden las raterías y los vagabundajes, dificultan mucho las antiguas
aventuras.
En aquellos tiempos le quedaba todavía otra solución al perseguido por
la ley: los indios en sus tolderías reservaban a veces un asilo a los
cristianos, en la esperanza de utilizarlos como rehenes o a título de espías.
Martín Fierro y el sargento Cruz se marcharon, pues, al país de los indios
pampas.
El poema del Martín Fierro, aunque no tiene más que cuarenta años de
fecha, guarda un valor inestimable porque describe cuadros y cosas que ya
desaparecieron de la Argentina. En aquel país nuevo, en constante
evolución, las cosas vienen y van con alucinante rapidez.
Este poema vulgar y sin pretensiones tiene, pues, una importancia
grande como documento vivo y veraz. Narra, por ejemplo, la vida de los
indios, cuando todavía vagaban los indios feroces y libres en los confines de
la misma provincia de Buenos Aires. Y los describe con tal detalle y con
tanta realidad, que nosotros, los lectores, podemos asistir a las fiestas y las
batallas de aquellos bárbaros, a quienes la civilización no ha podido o no ha
querido amansar. En estos momentos los indios feroces, constante alarma
de los poblados fronterizos, no existen ya más. Todos han desaparecido.
Permanecen algunas tribus, es cierto, en los territorios meridionales de la
Patagonia y en la Tierra de Fuego. Pero son indios nada bravos,
entumecidos en su clima implacable, poco numerosos y cada día más
mermados ante el avance de la colonización. También existen núcleos de
indios salvajes en la zona tórrida del Norte de la República, y aunque más
numerosos que los del Sur y bastante crueles y rapaces, nunca forman un
grave peligro para la población laboriosa del país. Se sostienen en el casi
desierto territorio del Chaco y arman sus tolderías en las riberas del poco
conocido Pilcomayo. Se valen de la pesca y la caza para subsistir; a veces
arrostran pequeños malones[38] o saqueos sobre los colonos cristianos; otras
veces acuden a trabajar por temporadas en los obrajes[39], donde se cortan y
preparan grandes cantidades de la madera tintórea llamada quebracho. Los
miserables indios reciben por sus trabajos alguna suma, que invierten en
armas y en alcohol; con frecuencia son víctimas de la codicia de los
capataces, y ellos se vengan en brutales represalias.
Los verdaderos indios, los peligrosos y terribles, eran los pampas.
Antiguamente se llamaban querandíes, y ocupaban toda la zona llana de la
Argentina, esa infinita pradera verde, limpia de árboles. Los indios del
Uruguay, llamados charrúas, no eran menos valerosos y crueles.
Por su crueldad, su valor y su independencia, los indios pampeanos eran,
sin duda, de la misma condición y raza que los araucanos. Los primeros
conquistadores, cuando pretendieron establecerse en la desembocadura del
Plata, soportaron bien pronto los excesos de los indios. Los charrúas, cerca
de la actual Montevideo, asaltaron la expedición de Solís y la deshicieron.
El capitán Hurtado de Mendoza llegó a la Argentina con un lucido ejército
de nobles y buenos soldados, fundaron la ciudad de Buenos Aires, y al poco
tiempo, los indios querandíes sitiaron la ciudad, sembraron el hambre en la
colonia, y, por último, con flechas encendidas quemaron las casas de
madera y paja y abrasaron las mismas naves ancladas sobre la ribera. La
expedición fracasó del todo, y hubo de llegar más tarde con nueva gente el
capitán Blasco de Garay a reedificar las chozas y el castillo de Buenos
Aires. Y desde entonces la civilización ha tenido que bregar continuamente
en la Argentina con los fieros e irreductibles indios. Hasta que finalmente,
bajo el gobierno del general Roca, se acordó una expedición al desierto, y
los indios, implacablemente, fueron exterminados. Las mujeres y los niños
que se salvaron de la encerrona ingresaron, por adopción, en la masa de la
población civilizada.
Bárbaros y feroces, los indios de la Pampa necesitaron sufrir, en pleno
siglo XIX, igual suerte que los pieles rojas. La civilización tiene un fondo
de egoísmo inapelable; la civilización ambiciona nuevos territorios, nuevas
adquisiciones, y quien se resiste ha de desaparecer. No hicieron otra cosa
los españoles del descubrimiento y la conquista. Además de la ambición
adquisitiva, los españoles llevaron a América el deber ambicioso de la
Religión, de cuya carga estuvieron libres los yanquis y los argentinos. Estos
pedían al indio sus tierras feraces, sus minas, sus ríos, y que no molestaran
mucho a los colonos; cuando el indio se negó, fué exterminado. En algún
trozo de los Estados Unidos, a manera de curiosidades etnográficas, quedan
hoy unos pocos pieles rojas; también en la Argentina restan unas docenas
de indios pampas, a quienes el Gobierno entrega, a título precario y sin
carácter de propiedad absoluta, unas tierras para pastorear.
Los españoles exigían a los indios la sumisión, el oro y las tierras. Si los
indios accedían, eran conservados bajo leyes humanas; entraban, asimismo,
en la comunidad carnal de los hombres blancos por medio del matrimonio.
Si se resistían al dominio del rey o de la Iglesia, eran perseguidos y
muertos. Después de largas luchas y persecuciones, los indios podían
aspirar a que los españoles les admitieran en el organismo civil de los
virreynatos. Es cierto que había las encomiendas y la prestación personal
del indio en el trabajo de las minas y la agricultura; ¿pero hoy no existen los
obrajes, el alcohol, las persecuciones? ¿No se ha extirpado al indígena de la
Nueva Zelandia en nuestro propio tiempo?
Saquear y matar; he aquí el oficio de los indios pampas. Hacían
acometidas tumultuosas, que llamaban malones, y cayendo sobre los
poblados pacíficos, se llevaban lo que veían a mano: mujeres, niños,
comestibles, aperos, rebaños.
Antes de aclarar el día
empieza el indio a aturdir
la pampa con su rugir,
y en alguna madrugada,
sin que sintiéramos nada,
se largaban a invadir.

Primero entierran las prendas


en cuevas como peludos[40],
y aquellos indios cerdudos,
siempre llenos de recelos,
en los caballos en pelos
se vienen medio desnudos.

Para pegar el malón


el mejor flete procuran,
y como es su arma segura
vienen con la lanza sola,
y varios pares de bolas
atados a la cintura...

Se vuelve aquello un incendio


más feo que la mesma guerra;
entre una nube de tierra
se hace allí una mescolanza
de potros, indios y lanzas,
con alaridos que aterran...

Y aquella voz de uno solo,


que empieza con un gruñido,
llega hasta a ser alarido
de toda la muchedumbre.
Y ansí adquieren la costumbre
de pegar esos bramidos.

El gaucho Martín Fierro no conserva buena memoria de los indios. No


les concede ninguna cualidad. Su pintura, en fin, es perfectamente contraria
a aquel hombre de la Naturaleza que inventara Rousseau y que estuviera en
moda hasta acabar el imperio del romanticismo. Nuestro fantástico padre
Las Casas, el bueno de Bernardino de Saint Pierre y el mismo
Chateaubriand, palidecerían de rubor ante este retrato del indio pampa.
El indio pasa la vida
robando o echao de panza.
La única ley es la lanza
a que se ha de someter.
Lo que le falta en saber
lo suple con desconfianza.

Fuera cosa de engarzarlo


a un indio caritativo.
Es duro con el cautivo,
le dan un trato horroroso.
Es astuto y receloso,
es audaz y vengativo...

Odia de muerte al cristiano,


hace guerra sin cuartel.
Para matar es sin hiel.
Es fiero de condición.
No golpea la compasión
en el pecho del infiel...

Se cruzan por el desierto


como un animal feroz.
Dan cada alarido atroz
que hace erizar los cabellos.
Parece que a todos ellos
los ha maldecido Dios.

Todo el peso del trabajo


lo dejan a las mujeres.
El indio es indio, y no quiere
apiar de su condición.
Ha nacido indio ladrón,
y como indio ladrón muere.

Ahora vamos a reproducir estos versos, que explican simple e


ingenuamente una de las características principales del indio americano: la
incapacidad para la risa.

El indio nunca se ríe


y el pretenderlo es en vano,
ni cuando festeja ufano
el triunfo en sus correrías.
La risa en sus alegrías
le pertenece al cristiano...

Es verdad; la aptitud para la risa pertenece a la raza blanca, y a esos


hermanos inferiores que son los negros. Impasible es el japonés; sombrío y
siniestramente grave es el malayo; y el indio americano no acertó nunca a
poner risa o amabilidad en sus ídolos; su religión precolombiana era de
esencia mortal, sanguinaria, fríamente sacrificadora de víctimas humanas.
Lo distintivo en el indio de América es una como fundamental tristeza, y
una casi insensibilidad para el horror de la muerte. De tal modo, que el
europeo observa ahora mismo, entre las personas mestizadas de la
Argentina, una extraña sobriedad en el reir. En cuanto a la insensibilidad
ante la muerte, el europeo nota con extrañeza cuán poco valor tiene allí la
vida humana, cuán fácil es allí el homicidio, y qué escaso valor se le otorga
al delito de sangre. Los señoritos de la buena sociedad portan en la
Argentina, con mucha frecuencia, el revólver bajo el smokin. Cierta vez, en
pleno Parlamento, a un senador, al agacharse, se le desprendió el revólver
del bolsillo; y los periódicos de la mañana no se indignaron ni un poco, sino
que hicieron al efecto alguna broma.
Los indios existen todavía, y existirán siempre en América, bien sea en
estado semisalvaje o como adscritos a la civilización. En la Argentina no es
menos importante el elemento indio. Cuando se nos habla de una raza
blanca y europea en la región platense, debemos entender que se trata de un
núcleo inmigrante, puramente moderno y pegadizo, y habitador de las
ciudades costeñas. El resto del país, precisamente el país que más motivos
tiene para llamarse argentino, está compuesto de gentes mestizas.
Todo el interior de la Argentina, desde Mendoza a Jujuy, desde
Catamarca a Corrientes, es de raza hispano-india; en la provincia de
Corrientes aún habla hoy el pueblo un idioma aborigen, el guaraní. A esta
población mestiza, que a veces tiene más sangre india que española, llaman
en el país con el mote de chinos, por sus caracteres especiales, que
recuerdan mucho a los de los japoneses: pómulos pronunciados, ojos un
tanto oblicuos y color amarillento.
Las familias argentinas de apellido y abolengo español, especialmente
aquéllas muy antiguas que proceden de las ciudades interiores, tienen casi
siempre los rasgos del mestizo. Los hombres más significados de la
Argentina suelen tener igualmente sangre india, como Sarmiento, como
Lugones, como Ricardo Rojas.
***
Una vez, con motivo de ciertas asonadas que realizaran los indios del
Chaco, fué comisionado por el Gobierno argentino el Sr. Lynch Arribálzaga
para estudiar aquel problema. El dictamen que presentó dicho señor me
produjo mucha curiosidad y lo leí con verdadera emoción.
“El indio no sólo no es agricultor, sino que carece de la noción misma de
la propiedad individual, salvo la de los vestidos y utensilios domésticos; el
campo, los ríos y los lagos, considerados como territorios de caza y pesca,
pertenecen en común a los individuos de cada tribu, dentro de límites
convencionales que no pueden ultrapasar los vecinos sin consentimiento.
En cuanto a los alimentos, bebidas, etc., el concepto de su propiedad es
comunista, a tal punto, que si vuelven con un solo pescado, lo reparten
equitativamente entre todos, aunque toquen a bocado por barba. La caza
mayor se la dividen sobre el terreno, y es frecuente ver una rueda de
salvajes fumando en común un cigarro o una pipa, que pasa por turno de
boca en boca.”
Ya se comprende que estos hombres arbitrarios, que carecen de la idea
del ahorro y de la propiedad territorial, habían de ser perseguidos sin
compasión... ¡Miserables, infelices, odiosos indios!
Habían de ser exterminados sin remedio, porque no querían ahorrar,
guardar, aumentar. Porque no saben separar la tierra con hitos y mojones.
Porque no sienten la bondad del magno sistema, que consiste en alquilar
peones y reservarse el noventa por ciento de los beneficios. No comprenden
la sabiduría de guardarse el fruto del trabajo ajeno. Entienden que la
libertad es el supremo placer, y que la Naturaleza lo da todo generosamente:
peces, aves, frutos, flores y plumas. No son útiles para la civilización, desde
el momento que no conciben la necesidad de un portamonedas.
El concepto blanco de la vida está en oposición con el de las razas de
color: el sol tropical es el enemigo irreparable. Tienen esas razas un sentido
frágil del vivir; por otra parte, la Naturaleza les da lecciones convincentes
cada día; conocen, en fin, “la facultad de existir sin esfuerzo”. Frente al
salvaje, el blanco marcha bajo la obsesión de reunir, acumular y vencer. El
espíritu de acumulamiento forma todo el sentido de nuestra civilización.
Situado en un clima adverso, el blanco siente miedo a la vida. Es el
miedo al frío, a la humedad, al hambre, a la casa sin techo; es el miedo al
día de mañana, a la incógnita de un mañana atenaceante; por último, el
miedo a la vida forma hábitos inconscientes de alquisición. Perfeccionados
los medios de adquisición, el hombre civilizado ya no busca lo necesario,
sino lo superfluo; necesita adquirir, porque se ha hecho en él un vicio
sobremanera incitante. Se crean además necesidades de lujo, de arte, de
ostentación y de sensuales delicadezas.
Tiranizado por su pasión, el blanco se abandona a su vida dionisíaca, en
que la lucha es suprema ley. Un sabio hebreo lo dejó escrito en palabras
imborrables, sobre las páginas insuperables del Eclesiastés: “La vida es una
batalla...” Ahí está la síntesis filosófica de nuestra civilización. El indio la
rechaza, porque entiende la dicha de otra manera. Se vituperan los
procedimientos del hombre de los climas cálidos; pero es porque nos ciega
la soberbia de nuestro circunscripto razonamiento. ¿Cómo podemos pedir el
mismo esfuerzo, la misma tensión laboriosa a un indígena del Chaco y a un
obrero inglés? Este necesita trabajar mucho, porque exige carne, manteca,
verduras, patatas, pan, cerveza, tabaco, calefacción, casa abrigada, vestidos
de lana, distracciones con que atenuar sus horas de niebla interminable;
pero a un hombre de clima cálido le basta un puñado de bananas, un techo
de paja y un lienzo que cubra sus vergüenzas. Los que manejan ingenios y
obrajes en el norte de la Argentina, gritan porque los obreros se van a media
tarea, exigiendo su breve jornal; pero ¿qué ley, humana o divina, puede
obligar a un hombre a que trabaje sin cesar todas las jornadas del año, si no
tiene necesidad de dinero? Con el dinero que le otorguen después de una
faena esforzada, ¿comprará ese hombre alguna cosa de más valor que su
muelle y dichosa holganza?...
Por eso hay que aceptar al indio como es, sin exigirle que adopte todas
nuestras preocupaciones; siempre será un semicivilizado. Y probablemente
serán siempre los países cálidos una especie de “territorios protegidos”.
Contra el fatalismo de la Naturaleza es inútil luchar. Los pueblos calientes

You might also like