I’ll confess that when I use a quicksort to sort and array of strings, I don’t use the C Library’s qsort() function. No, I write my own. The problem is that when sorting an array of strings, the qsort() function’s compar argument is a pain in the butt to craft properly.
Continue reading
Category Archives: Lesson
Quicksorting Strings
The quicksort deftly handles vast quantities of values. It can also sort strings, but that’s where things can get weird.
Continue reading
Inside the Quicksort
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
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