Skip to content
The library you create when you are done with Learn C The Hard Way
C Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is the library that you finally create in my book Learn C The Hard Way found at:


  • Make tst_traverse abort if too deep.
  • Add the RadixMap_sort_tail from Mongrel2 to study as an exercise.
  • Look up whatever tail recursion is available in GCC or others.

Algorithms Needed

  • binary search -- got in sarray.c and radixmap.c
  • qsort -- used in sarray.c but maybe implement?
  • heap -- don't have, could add
  • radix sort -- have that, and in radixmap
  • jenkin's hash -- need another one, djb's maybe?
  • boyer-moore-horspool search -- bstrlib.c doesn't use this, so show how to make one
  • longest common subsequence -- tst vs. sarray
  • all common prefixes -- tst vs. sarray
  • all substrings -- tst vs. sarray
  • async file client/server -- ringbuffer, queue
  • non-linear suffix tree delta -- that was cool, figure it out again
  • RC4 is actually cooler and fits the student at that stage
  • timsort maybe? -- no too complicated
  • merge sort on double-linked-lists is a good algorithm.
Something went wrong with that request. Please try again.