学习的第一种算法:冒泡排序
/*
冒泡排序:(因为像冒泡一样,最大的数一个个冒出来,故称为“冒泡排序”)
1.通过相邻的两个数比较,若左大于右,则左右交换,从第一组一直检索(比较)至最后一组。
2.若有n个数,则相隔两两成组,共有n-1组,检索(比较)n-1次。
3.每一次检索完毕都能找到一个最大值,并将该最大值放在最右端。
4.重复以上的步骤,每次检索(比较)完一行之后,下一次检索(比较)的次数-1
*例如:2,5,3,4,1
第一次需要检索(比较)4次,将5放在了最右端
第二次,由于最大数5已经在最右端,所以只需要检索(比较)剩下的4个数,即检索(比较)的次数-1
规律:1.排序轮数为 0,1,2,3....
2.排序总轮数=元素个数-1
3.每轮的检索(比较)次数=元素个数-当前的排序轮数-1
算法:双重for循环
for(int i=0;i < n - 1; i++) // 0为初始轮数, n-1为排序总轮数, i最大为n-2 ,从0~n-2共 n-1个数(即总轮数)
{
for(int j=0;j< n - i -1; j++) //比较次数=元素个数-当前的排序轮数-1
{ //比较函数
if(arr[j]>arr[j+1])