Chapter 7: Lists
Chapter 7: Lists
Fixed-Sized and Variable-Sized Compound Data
List Definitions
Lists and Scheme Pairs
Constructing Lists
Quoting Expressions
Creating Arbitrarily Long Lists of Numbers
Tracing integers-from-to
Iterative Version of integers-from-to
Processing Lists: List Length
Processing Lists: Summing Integers
Recursion on Integers and Lists
Testing for List Membership (Ex. 7.8a)
Testing for List Membership
Processing Multiple Lists: List Filtering
Questions About List Filtering
The filter Procedure
Getting the First n Elements of a List
Getting All But the First n Elements of a List
List Processing Application: Shuffling Cards
Shuffle Problem Approach
Interleaving Lists
General Purpose Shuffling
Multiple Shuffling
Automating the Test
Mapping Lists
List Processing Efficiency: Reversing Lists
Adding to the End of a List
add-to-end: cdr-ing Down the List
add-to-end: consing Up the New List
Efficiency of reverse
A More Efficient Method of Reversing
Application of reverse: Palindromes
Palindrome Mania
A Palindromic Poem
Tree Recursion and Lists
Implementing Mergesort
Merging Two Sorted Lists
Separating a List into Two Parts
Mutual Recursion
Mergesort Again