------------------------------android培训、java培训、期待与您交流! ----------------------------------------------------------------
需求: 对给定数组进行排序,{5,1,6,4,2,8,9}
冒泡排序:相邻两个元素进行比较,如果符合条件换位.
publicstaticvoid bubbleSort(int[] arr)
{
for (int x = 0; x< arr.length - 1; x++)
{
for (int y = 0; y< arr.length - x - 1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。例如:length=5,则y =3, y+1 =4.
{
if (arr[y]< arr[y + 1])
{
int temp =arr[y];
arr[y]= arr[y + 1];
arr[y+ 1] = temp;
}
}
}
}
选择排序: 内循环结束一次,最值出现头角标位置上。
publicstaticvoid 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;
}
}
}
}
发现无论什么排序。都需要对满足条件的元素进行位置置换。所以可以把这部分相同的代码提取出来,单独封装成一个函数。
publicstatic void swap(int[] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}

-----------------------------android培训、java培训、期待与您交流!----详细请查看:http://edu.youkuaiyun.com/heima---------------