Polymorphic Data Structures in C/Preface

Book
C is a programming language developed by Dennis Ritchie in 1972 for use on the Unix operating system. This book aims to explain and demonstrate the principles of data structures, polymorphism, and their implementation in C. This book is based on Data structures: an Advanced Approach using C written by Jeffrey Esakov and Tom Weiss. First published in 1989, the book has not been updated in over two decades, yet is used in many college courses across the United States. This book is to be an updated version of Data Structures: an Advanced Approach using C, using ANSI standard C and expansions on the code explanations.

This book assumes that the reader has a basic knowledge of C, or at least a fundamental understanding of computer programming. Knowledge of structures such as arrays and a rudimentary understanding of how pointers work is essential. The author also recommends that the reader understand how to read type using the Right-Left-Walk method. This book uses strict ANSI C syntax, adapted from traditional K&R C or written from scratch. As such, all main declarations include the full header and all functions use single-line parameter definitions.

The images for this book were created using Inkscape and the cover art was designed in GIMP.

Software
To complete the test cases and demonstrations in this book, you must have: Alternately, you can use an IDE such as Microsoft Visual Studio or NetBeans for C/C++. This book assumes the use of GCC and Emacs; performance on other development systems is not guaranteed.
 * A C compiler. The author recommends GCC.
 * A text editor. The author recommends Emacs or Notepad++.