Set of custom-made C methods taking care of some basic actions of QuickSearch.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

QuickSearch - Accessory Methods

This repository includes a set of miscellaneous C methods which I have created from scratch to perform basic actions while developing the QuickSearch algorithm. I am relying on Code::Blocks and the GCC compiler.

QuickSearch is a quick and portable alternative to databases under simplistic conditions. It is a (Linux/Windows) executable which I have developed in C completely from scratch. To know more about it, visit its main page (versión en español).

Note that the contents of this repository only represent a small part of the QuickSearch code, which isn't public.

This repository also gives a good idea about the methodology which I have been using in the QuickSearch development to adapt C to my modern-programming-language expertise. To know more about all this, watch this video.

Another important issue to bear in mind is that this repository is meant to provide a reliable, consistent and scalable approach where aspects like punctual performance are somehow secondary. Or, in other words, this code isn't meant to perform really well, but to easily allow any eventual performance improvement. You can find more detailed explanations and a descriptive example about all this here.

The main resources of this repository are the following:

  • accessory_string.h (64-bit Linux/Windows): set of string-/char-related methods helping me to adapt my usual coding style (i.e., taking certain in-built functionalities for granted) to the limited resources of C.
  • accessory_number.h (64-bit Linux/Windows): set of methods dealing with numeric operations.
  • accessory_safe.h (64-bit Linux/Windows) and accessory_free.h (64-bit Linux/Windows): basic methods easing the malloc/free management mainly for char/string pointers.
  • accessory_sort_string.h (64-bit Linux/Windows): custom implementation of the quicksort algorithm for strings. It includes an enhancement for scenarios where the default version of this algorithm performs notably bad (i.e., already-sorted data sets). It also accounts for two different sorting approaches: alphabetical and numerical.
  • accessory_sort_int.h (64-bit Linux/Windows): custom implementation of the quicksort algorithm for integers. It includes an enhancement for scenarios where the default version of this algorithm performs notably bad (i.e., already-sorted data sets).

You might also want to take a look at the other repositories related to QuickSearch:

ABOUT THE LACK OF COMMENTS: This repository contains an almost-unmodified small part of the QuickSearch code, where I have written almost no comments. Why am I developing a quite complex piece of software without including almost any comments? There are many good reasons for that, here comes my favourite one: because I feel like doing it in that way. Other alternatives are: I am developing everything from scratch, am relying on a quite clear structure and am the only person dealing with the code; the whole development has been quite problematic and it is already way behind schedule; I am not planning to release it as open source, show it to anyone else or similar eventuality which might advise to (over-)ease the adaptation of any random developer.

Authorship & Copyright

I, Alvaro Carballo Garcia (varocarbas), am the sole author of each single bit of this code.

Equivalently to what happens with all my other online contributions, this code can be considered public domain. For more information about my copyright/authorship attribution ideas, visit