Data Structures and Algorithms with the C++ STL
A guide for modern C++ practitioners
Delivery estimate
Please enter a valid 4-digit Australian postcode.
to ·
Delivery estimate
Please enter a valid 4-digit Australian postcode.
to ·
Data Structures and Algorithms with the C++ STL
Description
Explore the C++ 23 STL with practical guidance on vectors, algorithms, and custom types for intermediate developers, enriched by real-world examples.
Key Features
- Master the std::vector and understand why it should be your default container of choice
- Understand each STL algorithm and its practical applications
- Gain insights into advanced topics such as exception guarantees and thread safety
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description
While the Standard Template Library (STL) offers a rich set of tools for data structures and algorithms, navigating its intricacies can be daunting for intermediate C++ developers without expert guidance. This book offers a thorough exploration of the STL's components, covering fundamental data structures, advanced algorithms, and concurrency features.
Starting with an in-depth analysis of the std::vector, this book highlights its pivotal role in the STL, progressing toward building your proficiency in utilizing vectors, managing memory, and leveraging iterators. The book then advances to STL's data structures, including sequence containers, associative containers, and unordered containers, simplifying the concepts of container adaptors and views to enhance your knowledge of modern STL programming. Shifting the focus to STL algorithms, you'll get to grips with sorting, searching, and transformations and develop the skills to implement and modify algorithms with best practices. Advanced sections cover extending the STL with custom types and algorithms, as well as concurrency features, exception safety, and parallel algorithms.
By the end of this book, you'll have transformed into a proficient STL practitioner ready to tackle real-world challenges and build efficient and scalable C++ applications.
What you will learn
- Streamline data handling using the std::vector
- Master advanced usage of STL iterators
- Optimize memory in STL containers
- Implement custom STL allocators
- Apply sorting and searching with STL algorithms
- Craft STL-compatible custom types
- Manage concurrency and ensure thread safety in STL
- Harness the power of parallel algorithms in STL
Who this book is for
This book is for intermediate-level C++ developers looking to enhance their software development skills. Familiarity with basic C++ syntax and object-oriented programming (OOP) as well as some exposure to data structures and algorithms is assumed.
Tailored to software engineers, computer science students, and hobbyist programmers, this book delves into C++ STL for practical application, performance enhancement, and efficient coding practices.
Table of Contents
- The Basics of std::vector
- Mastering Iterators with std::vector
- Mastering Memory and Allocators with std::vector
- Mastering Algorithms with std::vector
- Making a Case for std::vector
- Advanced Sequence Container Usage
- Advanced Ordered Associative Container Usage
- Advanced Unordered Associative Container Usage
- Advanced Container Adaptor Usage
- Advanced Container View Usage
- Fundamental Algorithms and Searching
- Manipulation and Transformation
- Numeric and Range-Based Operations
- Permutations, Partitions, and Heaps
- STL with Ranges
- Creating STL-Types Containers
- Creating STL-Compatible Algorithms
- Type Traits and Policies
- Exception Safety
- Thread Safety and Concurrency with the STL
- STL Interaction with Concepts and Coroutines
- Parallel Algorithms with the STL
Shipping & Processing
This item is in stock with our supplier and usually ships within 3–5 business days.
Processing times
- In stock: Items marked “In Stock” are on our shelves. We pick, pack and ship them within 1–2 business days.
- In stock with our supplier: Items not marked “In Stock” are held by one of our Australian or overseas suppliers. We order them in for you and they usually dispatch within 2–5 business days (3–5 for some suppliers). The estimate next to the price is for this item.
- Special orders: Some supplier items, such as specialist and imported items, titles awaiting reprint and print-on-demand titles, take longer to arrive. If your order includes one, we’ll update you as soon as we hear from our supplier.
- Supplier delays: Occasionally a supplier is delayed, or their stock information turns out to be inaccurate. We’ll keep your order open for up to 60 days. If an item hasn’t shipped or isn’t on its way to us by then, we’ll cancel that item and refund it.
How accurate is availability?
Availability is based on the stock levels our suppliers tell us they hold, and we update it regularly. If a supplier issue affects your order, we’ll let you know with an updated estimate.
Delivery
- As soon as your order ships you’ll get an email with tracking.
- Australia Post usually delivers within 2–10 business days of shipping (around 4 in metro areas and around 6 in regional areas).
- If your order has more than one item, we hold the in-stock items until everything is ready, so we can ship your whole order together in one parcel.
- Shipping cost: Free on orders over $100 within Australia, otherwise $9.95 flat rate per order however many items you buy. Free shipping applies to Australian addresses only; delivery to New Zealand is $14.95 per order.
- Check your address: If an order goes to an incorrect address you gave us, or isn’t collected and Australia Post returns it to us, you’ll need to pay the postage to send it again.
Cancellations
Need to change or cancel an order? Contact us as soon as possible at contact@bookloop.com.au or through our contact page.
- Within 30 minutes: You can change or cancel your order for a full refund within 30 minutes of placing it.
- After 30 minutes: Your order is already being processed, so it can no longer be changed or cancelled. If we can accept a late cancellation, we may offer store credit instead of a refund.
- Items in transit: Once an item is on its way, either from our supplier to us or from us to you, it can’t be cancelled. If you no longer want it once it arrives, you can return it as a change of mind, with return postage at your cost. See Returns.
- Separate orders can’t be combined once they’ve been placed, and adding or swapping items can change the delivery estimate.
- Supplier delays: Occasionally a supplier is delayed, or their stock information turns out to be inaccurate. We’ll keep your order open for up to 60 days. If an item hasn’t shipped or isn’t on its way to us by then, we’ll cancel that item and refund it.
Faulty or damaged items are always covered. See Returns.
Returns
Damaged or incorrect items (within 30 days)
If an item arrives damaged or isn’t what you ordered, contact us within 30 days of delivery. We may ask for a photo, and if we need the item back we’ll send a prepaid return label, so it costs you nothing. You’ll receive a replacement or refund, as guaranteed under the Australian Consumer Law.
Change of mind (within 30 days)
We offer a refund or store credit for change of mind within 30 days of purchase when:
- you have your proof of purchase;
- the item is unused and in its original condition and packaging;
- it isn’t a sale item, special order, custom item or gift voucher.
You pay the postage to return change-of-mind items. Change-of-mind returns aren’t available for print-on-demand titles or bulk orders with special pricing.
Returned to sender
If an order is sent to an incorrect address you gave us, or isn’t collected and Australia Post returns it to us, you’ll need to pay the postage to send it again.