1、第一步:冒泡排序,故名思议就像气泡漂上来一样,值比较小的在前,值比较大的在后。
2、第二步:同理,每次循环结束的时候我们得到数值堆中最小的数值。为了更好的解释,这里没结束一次埂黉餐嚣循环,程序等待一下输入,输入任意字符后继续循环。两次输入后,得到1和2分别是最小值。
3、第三步:代码如下,这里我们选用数字做实验。
4、第四步:两层循环的效率分析,双层循环在这里又分为数值的比较操作和数值的移动操作,同时比较操作需要用到一个内存空间。我们用下面代码进行测试。在逆序情况下。
5、第五步:运行结果如下,比较次数=交换次数,均为n*(n-2)/2,这里的n为需要排序的元素个数。
6、第六步:在正序情况下,测试结果如下。
7、第七步:在正序情况下,只进行了比较,没有进行交换,比较次数为n*(n-1)/2。综上所述,瓜拥孪廴冒泡排序的时间复杂度为o(n*n)。这是一种时间复杂度比较高的排序算法。