Which of the following best describes the Bubble Sort algorithm?
A) It sorts a list by repeatedly selecting the smallest element from the unsorted portion and moving it to the sorted portion.
B) It sorts a list by dividing it into smaller sublists, sorting those sublists recursively, and then merging them together.
C) It sorts a list by repeatedly comparing adjacent elements and swapping them if they are in the wrong order until no more swaps are needed.
D) It sorts a list by inserting each element into its correct position within a sorted portion of the list