Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
一、插入排序算法实现java版本
publicstaticint[]insert_sort(int[]a) { for(inti=0;i<a.length;i++) { for(intj=i+1;j>0&&j<a.length;j--) { if(a[j]<a[j-1]) { inttmp=a[j];//这样定义初始化逻辑上是可以的,j变量,每次tmp的值变化的 a[j]=a[j-1]; a[j-1]=tmp; } } } returna;//这里设计成不返回也行,原数组也已经修改,已排好序 }
二、选择排序算法实现java版本
publicstaticint[]select_sort(int[]a) { for(inti=0;i<a.length;i++) { intmin_pos=i; for(intj=i+1;j<a.length;j++) { if(a[j]<a[min_pos]) { min_pos=j; } } inttmp=a[i];//swap操作 a[i]=a[min_pos]; a[min_pos]=tmp; } returna; }
三、冒泡排序算法java实现
普通冒泡
publicstaticint[]bubble_sort(int[]a) { for(inti=0;i<a.length;i++) { //每一趟过后a[i]是第i小 for(intj=a.length-1;j>i;j--)//后续有j-1操作注意j>i { if(a[j]<a[j-1]) { inttmp=a[j];//swap操作 a[j]=a[j-1]; a[j-1]=tmp; } } } returna; }
改进冒泡排序,提前终结
publicstaticint[]bubble_sort_flag(int[]a) { booleanisChange=true; for(inti=0;i<a.length&&isChange;i++) { isChange=false; for(intj=a.length-1;j>i;j--)//后续有j-1操作注意j>i { if(a[j]<a[j-1]) { inttmp=a[j];//swap操作 a[j]=a[j-1]; a[j-1]=tmp; isChange=true; } } } returna; }
以上所述是小编给大家介绍的Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!