描述一个算法。
请描述冒泡排序算法是如何通过比较和交换相邻元素来将数组排序的。
冒泡排序是一种基本的排序算法，它通过比较和交换相邻元素来将数组排序。算法步骤如下：

1. 从数组的第一个元素开始，依次比较相邻的两个元素。如果前一个元素大于后一个元素，则交换这两个元素。

2. 对数组中的所有元素都进行一次上述操作后，最后一个元素将是最大的元素。

3. 对数组中剩余的所有元素重复1和2的操作，直到整个数组有序。

时间复杂度为 O(n^2)，在处理大型数据集时效率较低。