黑马程序员技术交流社区
标题:
算法 基础的四种排序
[打印本页]
作者:
半世心修
时间:
2015-5-30 09:09
标题:
算法 基础的四种排序
java的四种基础排序分别是:冒泡法,插入法,选择法,SHELL排序法
冒泡:
public void bubbleSort(int[] array)
{
int temp;
for(int i=0;i<array.length-1;i++)
{
for(int j=i+1;j<array.length;j++)
{
if(array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
复制代码
选择排序:
public void chooseSort(int[] array)
{
int temp;
for(int i=0;i<array.length;i++)
{
int lowIndex = i;
for(int j=array.length-1;j>i;j--)
{
if(array[j]<array[lowIndex])
{
lowIndex = j;
}
}
temp = array[i];
array[i] = array[lowIndex];
array[lowIndex] = temp;
}
}
复制代码
插入排序:
public void insertSort(int[] array)
{
int temp;
for(int i=1;i<array.length;i++)
{
for(int j=i;(j>0)&&array[j]<array[j-1];j--)
{
temp = array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
复制代码
shell:
public void shellSort(int[] array)
{
for(int i=array.length/2;i>2;i/=2)
{
for(int j=0;j<i;j++)
{
insertSortForShell(array,j,i);
}
insertSortForShell(array,0,1);
}
}
private void insertSortForShell(int[] array,int start,int inc)
{
int temp;
for(int i=start+inc;i<array.length;i+=inc)
{
for(int j=i;(j>=inc)&&(array[j])<array[j-inc];j-=inc)
{
temp=array[j];
array[j]=array[j-inc];
array[j-inc]=temp;
}
}
}
复制代码
不要去看排序的解释就看算法,分析出他们是怎么实现的,这是最好的
作者:
夏尔
时间:
2015-5-30 09:12
学习了,楼主好厉害,我只知道冒泡跟选择
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2