原理:
1.i,j分别代表循环的索引编号,i表示对整个数组的循环遍历,j表示临时循环索引。程序进入冒泡排序函数中,首先最外层循环应是i索引遍历整个数组,即for(i=0;i<lenth;i++)。但是对于内层比较的元素只剩一个时,它的值已经是排序好了的。即j=0处的值已经是在j=1时进行比较交换后的结果了。因此没有必要进行i=lenth-1时的循环比较。因此最外层循环可以优化为for(i=0;i<lenth-1;i++)。
2.当i等于0时,j表示的临时循环索引从0开始一直到length-2处。即内层循环应该为for(j=0;j<lenth-1;i++),当j=length-2时,j+1=length-1,即最后一个元素。
3.在该循环体中比较a[j]与a[j+1]的大小,如果a[j]>a[j+1],则交换两个元素,即j+1得位置存放较大值,