learning datastuctures using c