给出一个将数字从小到大排列的算法，并对算法的效率进行分析。


请提供一个将数字从小到大排列的算法。对于该算法，假设最坏情况下为 O(n^2) 的时间复杂度。
一种将数字从小到大排列的算法是冒泡排序。其基本思想是，从数列的左端开始，比较相邻的两个数的大小，如果左边的数大于右边的数，则交换这两个数的位置，重复进行这样的操作直到数列末尾。然后再从数列的左端开始，对除了最后一个数以外的数进行同样的操作，直到所有数排序完成。 

冒泡排序的时间复杂度为 O(n^2)。因为在最坏情况下，每个数都需要与其他数进行比较和交换，例如数组已经是从大到小排列好的情况下，需要进行 n*(n-1) 次比较和交换操作。