------- android培训、java培训、期待与您交流! ----------
今天学习了几种排序的方法,主要是选择排序和冒泡排序,两种排序的思想不同,从不同的角度
给数组进行排序。
1 选择排序。
内循环结束一次,最值出现头角标位置上。
public static void selectSort(int[] arr)
{
for (int x=0; x<arr.length-1 ; x++)
{
for(int y=x+1; y<arr.length; y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y]= temp;
}
}
}
}
2 冒泡排序。
public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=0; y<arr.length-x-1; y++)
{
if(arr[y]<arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
看了以上两种排序,可以推出所有排序都应该有相似的代码
int temp = arr[x];
arr[x] = arr[y];
arr[y]= temp;
所以我们可以把这部分相同的代码提取出来,单独封装成一个函数。
public static void swap(int[] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
这样在多个排序存在时可以提高代码的复用性,简化了代码的书写。