The solution is build up step by step over several stages. Every stage is built upon the knowledge learned in the previous stages and gets more and more advanced.
Start searching (linear search)...
Found 500 / 500 entries. Time taken: 00 min. 5 sec. 345 ms.
Start searching (bubble sort + jump search)...
Found 500 / 500 entries. Time taken: 1 min. 1 sec. 291 ms.
Sorting time: 00 min. 53 sec. 451 ms. - STOPPED, moved to linear search
Searching time:: 00 min. 7 sec. 840 ms.
Start searching (quick sort + binary search)...
Found 500 / 500 entries. Time taken: 00 min. 03 sec. 094 ms.
Sorting time: 00 min. 03 sec. 089 ms.
Searching time:: 00 min. 00 sec. 005 ms.
Start searching (hash table)...
Found 500 / 500 entries. Time taken: 00 min. 00 sec. 397 ms.
Creating time: 00 min. 00 sec. 396 ms.
Searching time:: 00 min. 00 sec. 001 ms.