您的位置:首页 > 编程语言 > Java开发

java排序的几种方法

2012-07-23 15:12 176 查看
//1、冒泡排序法(大的数往后放)

class Bubble

{

//创建排序方法

public void sort(int arr[])

{

int temp=0;

//排序

//外层循环,决定一共比几次

for(int i=0;i<arr.length-1;i++)

{

//内层循环,开始逐个比较,

for (int j=0;j<arr.length-1-i;j++)

{

//如果发现前一个数比后一个数大,则交换

if(arr[j]>arr[j+1])

{

//换位

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

}

}

//2、选择排序法(从小到大)

class Select

{

public void sort(int arr[])

{

int temp=0;

for(int i=0;i<arr.length-1;i++)

{

//认为arr[i]最小

int min=arr[i];

//记录最小的数的下标

int minIndex=i;

//用我认为的数和后面的数以次比较,找到最小值

for(int k=i+1;k<arr.length;k++)

{

//如果arr[i]不是最小的则修改值

if(min>arr[k])

{

//修改最小

min=arr[k];

minIndex=k;

}

}

//当退出for就找到了这次的最小值,并交换值

temp=arr[i];

arr[i]=arr[minIndex];

arr[minIndex]=temp;

}

}

}

//3、插入排序法

class InsertSort

{

public void sort (int arr[])

{

for(int i=1;i<arr.length;i++)

{

//insertVal是准备插入的数

int insertVal=arr[i];

//insertVal准备和前一个数比较

int index=i-1; //前一个数的下标

while(index>=0&&insertVal<arr[index])

{

//就把arr[index]向后移动一位

arr[index+1]=arr[index];

//让index向前移动

index--;

}

//将insertVal插入到适当位置

arr[index+1]=insertVal;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: