Mastering Algorithms with C: Useful Techniques from Sorting to Encryption