The Internet is littered with plenty of good explanations of how the quicksort works. The definition at Wikipedia graphically illustrates the process, which is commonly called “divide and conquer.” I’ve stolen the Wikipedia illustration and placed it into Figure 1.
Continue reading
Category Archives: Lesson
The Quicksort
Computers excel at searching and sorting. That, and they can occasionally screw up a phone bill.
Continue reading
Sorting It All Out
Computers are good at performing repetitive tasks; doing the same boring nonsense over and over. Two great examples are searching and sorting.
Continue reading
Other Ways to Fetch the CWD
In last week’s Lesson I mentioned the constant, MAXPATHLEN. Like PATH_MAX, it returns the size of the maximum number of characters allowed in a pathname. Unlike PATH_MAX, however, MAXPATHLEN is defined in the sys/param.h header file, not limits.h.
Continue reading
Fetching the Current Path
The C library hosts many file and directory management functions. They’re all pretty standard, no matter which operating system you use. What isn’t standard, however, is the size of a pathname. That value plays an important role if you’re to properly allocate memory to store directory information.
Continue reading
Finding the PATH_MAX
Your code may be compiled on a PC, Mac, Linux system, or even some microcontroller. In each case, it helps to know the environment before you code. You can guess, but it’s better to use the defined constants — if they’re available to you.
Continue reading
Know Your Limits
Back when I was a young, budding nerd, I popped off how there are always 8 bits in a byte. A much wiser programmer raised an eyebrow and quizzed me, “Always?”
Continue reading
Official C Library Rounding Functions
Nestled within the C Library are various functions mathematical, a handful of which are used to round floating point values. The most common of them are ceil(), floor(), and rint().
Continue reading
What is True?
It happens so often, I’m curious as to why the C language standard I/O header file doesn’t define TRUE and FALSE. Then again, what is TRUE and FALSE to a programming language — or to a computer? Why is this value true and that value false in the first place?
Continue reading
Yet Another Way to Cap an Array
You don’t know how many items the array might store, so you guess. Then the program fetches only n values, all in the range of –X through 0 to +X. How do you know when the valid values stop?
Continue reading