some exercises of data struct