Starting with why I was absent during the community bonding period, I had to go to my home town for health-related issues.
Now a brief about my past week’s work:
Changes to my already implemented linked list:
- Deleting the whole list was Recursive earlier which led to stack overflow for more than 100000 nodes in a list. I have implemented an Iterative approach for the same which saved me from stack overflow.
- I was facing memory leaks in my get function, whose return type was an allocatable which the compiler didn’t know when to deallocate. I changed the return type from allocatable to a pointer which solved this memory leak issue (Credits to @Arjen for the idea).
As I mentioned in my last blog, I will develop some stats related to the processing time of the current basic linked list.
You can find the report here.
Also, a brief of all the APIs that I believe are important for implementation are enlisted here.
My whole progress and work can be reviewed in this github repository.
Plans for the following week:
- Implement a List of linked list module based on my current module.
- This would hopefully reduce the traversal time of a List.
- The parent list will be made many children lists that are of max size 10000 / 100000 nodes. (Not sure of what would be the optimum size of a children list)
I am open to feedback, being new to the language I am not sure if I am following the best practices or not.