It's hard to gauge your process/level of programming without seeing any code. However, I do agree that merge sort is harder than the others - it requires a greater understanding of programming.
Based on personal experience, selection sort, insertion sort, or bubble sort are the easiest sorting functions. Here is the pseudocode for each function (based on Week 3 CS50 Shorts), so you can decide for yourself which one is the easiest. Please note that what is "easy" depends on the individual.
//repeat until no unsorted elements remain:
//search the unsorted part of data to find the smallest value
//swap the smallest found value with the first element of the unsorted part
//set swap counter to non-zero value
//repeat until the swap counter is 0:
//reset swap counter to 0
//look at each adjacent pair
//if two adjacent elements are not in order, swap them and add one to the swap counter
//call the first element of the array "sorted"
//repeat until all elements are "sorted":
//look at the next unsorted element. Insert into the "sorted" portion by shifting the requisite number of elements
//sort the left half of the array (assuming n > 1)
//sort the right half of the array (assuming n > 1)
//merge the two halves together
If this answers your question, please hit the checkmark below!