#include <rudiments/singlylinkedlist.h>
#include <rudiments/randomnumber.h>
#include <rudiments/stdio.h>
int main(int argc, const char **argv) {
singlylinkedlist<uint32_t> sllis;
singlylinkedlist<uint32_t> sllhs;
// generate random numbers and append them to the lists
randomnumber rr;
rr.setSeed(randomnumber::getSeed());
stdoutput.printf("generating numbers...\n");
for (uint16_t i=0; i<20000; i++) {
uint32_t num;
rr.generateNumber(&num);
sllis.append(num);
sllhs.append(num);
}
// sort one list using insertion sort
stdoutput.printf("sorting using insertion sort...\n");
sllis.insertionSort();
// sort one list using heap sort
stdoutput.printf("sorting using heap sort...\n");
sllhs.heapSort();
// print the lists
stdoutput.printf("insertion sorted list\n");
sllis.print(5);
stdoutput.write("...\n\n");
// print the list
stdoutput.printf("heap sorted list\n");
sllhs.print(5);
stdoutput.write("...\n\n");
}