它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
时间复杂度:O(N^2)
空间复杂度O(1)
int SortAlgHao::SortWithBubble()
{
int error = this->Validation();
if (error != 0)
{
return -1;
}
for (int ii = 0; ii < n; ii++)
{
for (int jj = ii; jj < n; jj++)
{
if (number[jj] < number[ii])
{
double temp = number[ii];
number[ii] = number[jj];
number[jj] = temp;
}
}
}
return 0;
}