Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on May 23, 2012
  1. Added min() and max() functions to tree

    Added a min() function and a max() function to the tree. They are
    simple (using recursion) and usefull so why not have them?
  2. Fixed "overfreed" node

    Don't free the root node. The post-order tree treversal will cover it.
    Also added a inorder tree treversal to see what the tree looks like.
Commits on May 21, 2012
  1. Rename function

    Should be the name of the data structure first and then the name of
    the sub-routine not the other way around.
  2. Added the tree data structure

    It is actually a binary search tree. This is the most used tree out of
    all the types of trees so I decided to implement it. It still has alot
    of work to be done before it can be considered complete (like adding
    a delete function) but you have to start somewhere!
Commits on May 18, 2012
  1. Return NULL instead of ending the program

    We should return NULL instead of exiting the program. It is a bad
    practice to exit the program. We should return a NULL pointer and let
    the client program decide to what to do.
  2. Moved static functions above calling function

    Compiler needs to have the functions declared before they are called in
    the source. So we need to put the static functions ahead of their
    calling functions since they are static and not declared in the header
  3. Removed static functions from header file

    The static functions should be declared in the source file so the
    program includes the file doesn't have access to them.
  4. Fixed typo

  5. Added makefile instructions to README

    Added the Makefile instructions for build the project.
  6. Added has_next() function for iterator

    Very Java-like. Maybe it isn't very C-ish but it does make looping with
    an iterator very easy so I decided it would be a good idea to add it
    to the library.
  7. Added list_iterator to linkedlist

    Now we have a way of stepping throught the list, link by link.
  8. Added Makefile

    This will make building the test programs alot simplier!
  9. Fixed formatting

Commits on May 17, 2012
  1. Added seperate test main programs

    Added different test programs. Will have assert statements in the
    programs to make sure that the output is what we think it is.
  2. Added contains() function to vector

    Added a contains() function to the vector data structure.
Commits on May 15, 2012
  1. Added delete() function to vector

    The delete() function works the same way the Java's remove() function
    does on the ArrayList. This frees the element at the index and then
    does the shift back.
  2. Fixed function

    The insert() function should be void and not void *.
  3. Reworked inserting and deleting elements

    Reworked inserting data into the vector. Now if an element is inserted
    we free the old element and then replace it with a new one. This fixes
    a couple memory leaks that were happening with lost pointers.
  4. Added dealloc() function

    This funtion will dealloc all the data stored in the vector, elements
    in the vector and pointer to the vector.
  5. Added insert() function to vector

    Added an insert() function to the vector data structure. This acts
    like the ArrayList's insert() method in Java.
  6. Added Eclipse files to ignore

    No need to commit these files to the repo. They are just junk.
  7. Fixed memory allocation bug

    Fixed a bug in memory allocation where we were requesting the wrong
    amount of memory to be allocated for the list.
  8. Added vector data structure

    Added the vector data structure. Right now you can only add and get
    from the vector. I will be add more soon :)
Commits on May 14, 2012
  1. Fixed Formatting

    Sorry about the mess I have been switching bewtween machines.
  2. Fixed warning

    Seems a little silly that the memory copy function would be in the
    strings head file. Maybe I am using it for the wrong purpose. I will
    have to check into that ...
  3. Added sort function to linkedlist

    Implemented a sort function that will sort the list using mergesort.
    The sort uses the compare_to() function to compare the data in the
    nodes. Mergesort seems to be the easiest and most efficent way to
    sort an alreadly filled linkedlist.
  4. Deleted IDE crap

    Don't need these useless comments in the source files. Will be adding
    more descriptive ones later.
Commits on May 13, 2012
  1. Update main.c to show contains() example

    Updated the main file to show an example function implementing the
    contains() function. The function currently compares two int pointers.
  2. Fixed infinite loop

    Stupid mistake. Should assign temp the next link on the list once we
    have determined that the current link doesn't contain the data that
    we are looking for.
  3. Added contains() function

    This function will search through the list and see if we have that
    data in the list. Inorder to acomplish this we need the client to
    implement a compare_to() function since we have no idea what these
    pointers point to. The compare_to() function is alot like Java's.
    Will be adding an example in the main file.
  4. Spelling Error

    What do you expect from an engineer?
Commits on May 12, 2012
  1. Updated README and project name

    Updated README to contain the new project name. My plan for this
    project is to provide a simple C library that can be used on hardware
    where performance and ease-of-use matters. The name of Lightweight C
    Library seems to fit what this project is trying to acomplish.
  2. Add README

    Added a README file so that users can know what to do with this bunch
    of code. This is still a work in progress but so is this whole library.
    Will eventually add a better description.
  3. Fixed problem with head pointer

    Fixed a problem where the head point would not be alloced propertly.
    Now we check to make sure the node data pointer isn't NULL before alloc
    space of it.
Something went wrong with that request. Please try again.