Preface
1 Programming Principles
1.1 Introduction
1.2 The Game of Life
1.3 Programming Style
1.4 Coding,Testing,and Turther Refinement
1.5 Program Maintenance
1.6 Conclusions and Preveiw
2 Introduction to Stacks
2.1 Stack Specifications
2.2 Implementation of Stacks
2.3 Application:A Desk Calculator
2.4 Application:Bracket Matching
2.5 Abstract Data Types and Their Implementations
3 Queues
3.1 Definitions
3.2 Implementations of Queues
3.3 Circular Implementation of Queues in C++
3.4 Demonstration and Testing
3.5 Application of Queues:Simulation
4 Linked Stacks and Queues
4.1 Pointers and Linked Structures
4.2 Linked Stacks
4.3 Linked Stacks with Safegards
4.4 Linked Queues
4.5 Application:Polynomial Arithmetic
4.6 Abstract Data Types and Their Implementations
5 Recursion
6 Lists and Srings
7 Searching
8 Sorting
9 Tables and Information rRtrieval
10 Binary Trees
11 Multiway Trees
12 Graphs
13 Case Study:The Polish Notation
A Mathematical Methods
B Random Numbers
C Packages and Utility Functions
D Programming Precepts,Pointers,and Pitfalls
Index