CUJ Logo

March 1996
Vol. 14, No. 03

ALGORITHMS

A Template-Based Quicksort

Kenneth Van Camp
Want to get a taste of the benefits of template libraries before you swallow all of STL? Heres our old friend quicksort decked out in more modern clothes.

Estimating Time-To-Transfer

George F. Frazier
Those “time left” thermometers provide reassuring feedback to users waiting for a long operation to complete. Theyre even more reassuring if they report some semblance of the truth.

Uncertainty Propagation in C++

Evan Manning
Real-world measurements have uncertainties. Sometimes its handy to keep track of those uncertainties through subsequent calculations.

TSQRT: A New Trick for an Old Dog

Don Bockenfeld
The square root function is widely used, and amenable to a number of interesting specializations. Author Bockenfeld shares with us his joy in discovering one of those special approaches.

A Small Combination Generator

Mark Flacy and Larry Brunelle
Too many textbooks provide overly ornate approaches to simple combinatoric problems. Heres a simple technique that is all too often overlooked.

FEATURES

Quad-Precision Math Functions, Part 2

Dr. Tim Prince
When you need lots of precision, theres no substitute for a set of math functions that does the job right.

BOOK REVIEW

Two C++ Tutorials

David Weber

COLUMNS

Standard C/C++: The Header <utility>

P.J. Plauger
Its not the sexiest header in the Standard Template Library, but <utility> defines templates used throughout STL. Becoming familiar with them now lays important groundwork for understanding the rest of STL.

Questions & Answers: Availability vs. Membership

Peter Becker
Derived classes dont “possess” inherited data members they merely have access to them. Pete explores this and other subtle mysteries of C and C++.

The Column that Needs a Name: Parsing C++ Declarations, Part 2

Dan Saks
You can gain lots of insight into C++ by writing a program to analyze C++ source code. Dan constructs such a program and kicks off his C++ parser project.

The Learning C/C++urve: Creating a Boolean Inserter

Bobby Schmidt
One way to find out if your new data type behaves like a builtin is to hook it up to an inserter. Bobby uses what he learns from this exercise to spruce up his boolean data type.

C/C++ Sources: Algorithms Are Everywhere on the Web

Victor R. Volkman
Graphs, Operations Research, Evolutionary Computation Victors latest outing on the web nets a treasure trove of algorithms, source code, and information for C/C++ programmers.

DEPARTMENTS

Editors Forum

New Products

We Have Mail