Data Structures with STL

Data Structures with STL

By (author)  , By (author) 

List price: US$39.99

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


*Learn data structures and the C++ Standard Template Library together! *Teaches the advanced C++ features you need to know first *Easy techniques based on real code examples *Supercharge C++ code performance-and your own productivity! Supercharge your C++ code! Master data structures and STL together! When you understand data structures, you can command many of the most powerful, efficient algorithms ever created! Better yet, the C++ Standard Template Library bundles dozens of these advanced algorithms in a simple, reliable, easy-to-use form. Now, you can learn data structures and STL together, with the first book that teaches them both: Data Structures with STL! Renowned programming instructors William Murray and Chris Pappas begin with the intermediate-to-advanced C++ features youll need to know first, including namespaces, void * pointers, generic types, and template development. Then, using extensive code examples, they introduce every aspect of working with data structures and STL: *Understanding STL extensible framework and components *Working with STL: containers, iterators, and algorithms *Dynamic memory allocation/deallocation *STL-based portable solutions for array creati
show more

Product details

  • Hardback | 432 pages
  • 183.9 x 241 x 32.3mm | 1,064.96g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • 0130289272
  • 9780130289278

Table of contents

1. Easing into Standard Template Library (STL) Using Arrays-STL Vector. What Do I Need to Know to Use This Book? Why Do I Need Calculus When I Can Buy a Calculator? The Complexity of Multiplatform Target Environments. Unintentional Misuse or Ignorance of C/C++ Features. Data Structures-The Course to Separate Hackers from Pros! So, Just What Is the Standard Template Library? The Origins of STL. What Do I Need to Know to Take Advantage of STL? A High-Level View of STL. Kudos to the ANSI/ISO C++ Committee. STL's Tri-Component Nature. Latest C++ ANSI/ISO Language Updates. Using namespace. namespace Syntax. The using namespace Statement. The Selective using Statement. Renaming namespaces. static File Scope vs Unnamed namespaces. New Casting Operations. Dynamic Casting. Static Casting. Newer C-Type Cast. Constant Cast. Run-Time Type Information (RTTI). Introduction to the Standard C++ Library. The Standard C++ Libraries. Your First Standard C++ Library Application. Implementing Your Own Template. Your First class Template. Function Templates Requirements. Using a Class Template. Class Template Parameters. Default Template Parameters. The Standard Template Library. STL Components. Rules for Using STL. Function Objects. STL Function Objects. STL Function Adapters. Standard Template Library Algorithms. Standard C++ Library Language Support. cstddef. Implementation Properties: limits, climits, cfloat. Exception Handling. Additional Support. STL Review. Sample Code. The find.cpp Application. The rndshfl.cpp Application. The removif.cpp Application. The setunon.cpp Application. Conclusion.2. Lists-STL List. Lists Using Arrays. Constructing an Array of Structures. Dynamic Memory Allocation-Linked Lists. Considerations When Using Linked Lists. A Simple Procedural Linked List. An Object-Oriented Linked List in C++. Creating a Parent Class. A Derived Child Class. Using a Friend Class. Examining the Complete Program. Linked-List Output. Lists Using STL. Vector. List. STL Vector Versus List Efficiency. Summary.3. Stacks and Queues-STL Adaptors. Dynamic Arrays. Making Vectors Data-Type Specific. How To Instantiate a Vector. An Example Using Vector Template Functions. Referencing Single Elements. Adding and Deleting Elements. Determining the Size of a Vector Container. Using the Template with Vectors. Example Programs. The ADT Stack. Creating a Stack Using an Array. Pushing Elements onto a Stack. Popping Elements from a Stack. Viewing the Top Element of a Stack. The STL Stack. STL Defines Stacks and Queues as Adaptors. Template Syntax. Template Overloaded Operators. Template Methods. Example Program. The ADT Queue. Creating a Queue Using an Array. Inserting Elements into a Queue. Removing Elements from a Queue. Viewing the Front Element of a Queue. The STL Queue. Template Syntax. Template Methods. Example Programs. Summary.4. Double-Ended Lists-STL Deque. Object-Oriented Deques. Deque Operations. The Template. The Template Syntax. Overloaded Operators. Template Methods. Sample Code. The arrayDQ.cpp Application. The vectorDQ.cpp Application. The dequeDQ.cpp Application. The deque.cpp Application. Summary.5. Sets-STL Sets and Multisets. Binary Sequences and the Template. Template Syntax. Template Overloaded Operators. Template Methods. Sample Code. Sets and Multisets Using the and Templates. The and Template Syntax. The and Template Functions. The Template Methods. and Sample Code. Summary.6. Binary Trees. Dynamic Linked List Fundamentals. The Container. Template Syntax. allocator_type. size_type. difference_type. reference. const_reference. value_type. iterator. const_iterator. reverse_iterator. const_reverse_iterator. Template Methods. Sample Code. The list1.cpp Application. The list2.cpp Application. The list3.cpp Application. Recursive Calls and the Call Stack. View Disassembly Code. The "Big-O" Function. Binary Tree Fundamentals. STL Vector-Binary Tree. Templatized Class Binary Tree. STL Stack-Binary Tree. Summary.7. Searching and Sorting. Binary Search Using bsearch() to Search a String. The STL basic_string Class and Searches. Using STL find_first_of() to Locate a Character. Using the STL find_first_not_of() to Locate a Character. Using the STL find() to Locate One String in Another. A Bubble Sort Routine to Sort an Array of Integers (Ascending). A Quick Sort Routine to Sort an Array of Integers (Ascending). Quick Sort Using qsort() to Sort an Array of Integers (Ascending). Sorting under STL. Using the STL sort() to Sort a of Integers (Ascending). Using the STL sort() to Sort a of Integers (Descending). Using the STL sort() to Sort a of Strings (Ascending). Using merge() to Merge Two Vectors Containing Ordered Elements. Summary.8. Priority Queues. FIFO with Priorities. How Priority Queues Differ from Queues. Priority Queue Operations. STL Standard Header. Type Definitions. Container. Constructors. Other Operations. The Underlying Heap. C++ Object Examples. arrayPQ.cpp. dListPQ.cpp. STL Priority Queue Examples. STL_PQ1.cpp. STL_PQ2.cpp. Summary.9. The STL and Templates. Maps and Containers. and Template Syntax. and Template Methods. Sample Code. A Application. A Application. Summary.10. Hash Tables and the STL. The STL and Hashing. Hashing Function. The Hash Key. Generating Key Values-A Simple Hashing Function. Collision Resolution. The Birthday Party. Open Addressing. Buckets and Chains. Summary.11. Matrices and the STL. One-Dimensional Arrays and Vectors. Using Traditional C++ Implementation: Arrays. Using an STL Implementation: . Matrices. Using Traditional C++ Implementation: Arrays. Using an STL Implementation: Vector of Vectors. Sparse Arrays (Matrices). Summary.12. Graphs and the STL. Graph Definitions and Terminology. What Is a Graph? Operations. Graph Implementation. Adjacency Matrix. Adjacency List. Graph Traversals. Depth-First Search. Breadth-First Search. Graph Application. Floyd's Algorithm Implementation with Arrays. Floyd's Algorithm Implementation with STL Vectors. Summary.Index.
show more

About Chris H. Pappas

WILLIAM MURRAY and CHRIS PAPPAS teach computer science at the B.C.C. campus of the S.U.N.Y. system in Binghamton, NY. They have co-authored over four dozen books on such programming topics as assembly language, Visual Basic, C and C++, HTML, Visual J++, Java, JavaScript, OS/2, Windows 95, Windows NT, and more. Their books have been translated into more than 25 languages.
show more