冒泡排序是计算机科学领域中一种简单的排序算法。它反复访问要排序的元素列,依次比较两个相邻的元素,如果顺序(例如,从最大到最小,从z到a)不对,就交换它们。
重复访问元素的工作,直到没有相邻的元素要交换,也就是说,该列元素已经被排序。
排序的原理是把第i个数和i之后的每个数进行比较,如果比他小,就交换位置,这样就把i之后最大的数拿出来了。
在最坏的情况下,冒泡和快速排水的比较时间是相同的:1,2,3...(n-1)时间复杂度:插入、冒泡、选择:o(n^2)希尔:o(n^1.2)快速排干、堆排干:o(nlogn)。
冒泡排序就是比较第一个元素和其他元素的大小,如果大就交换,继续这个操作。升序排序也是通过交换把最大值放在最后。
//如何给要排序的数组赋值,随便写写,重点是排序算法。
intarr[]{56,35,127,-69,106,-15,0,45};
inttemp0
//使用双层循环实现排序。
//第一级循环是要比较的回合数。
for(inti0;ilt;数组长度;我)
{
//第二个循环是比较次数,每一轮的比较次数都会比上一轮少一个。
for(intj0;jlt;排列长度-i-1;j)
{
//如果相邻的数,前一个较小,则交换位置。
if(arr[j]lt;arr[j-1])
{
temparr[j];
arr[j]arr[j-1];
arr[j-1]temp;
}
}
}