代码:
public static void selectSort(int[] arr)
{
for(int x=0;x<arr.length;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++) -x让每次比较减少;-1避免角标越界。
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y]=arr[y+1];
arr[y+1] = temp;
}
}
}