目录
冒泡排序
选择排序
插入排序
希尔排序
快速排序
归并排序
计数排序
基数排序
冒泡排序
初步实现
两次完整遍历数组
1. 依次比较数组中相邻两个元素大小,若a[i]>a[i+1]则交换两个元素,两两都比较一遍称为冒泡,结果是让最大的元素排至最后。
2. 重复以上步骤,直到整个数组有序。
减少比较次数
两次循环,一个遍历length次,另一个遍历length - i次。
减少冒泡次数
一次遍历后未发生交换时说明数组有序。
进一步优化
最后一次交换的索引可以作为下一轮冒泡的比较次数。若为零,表示整个数组有序。
public static void main(String[] args){
int n = a.length - 1;
for(