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实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!