java中的数组有很多的应用,这篇文章要说的是java中数组的排序,希望能帮助到一些人。
我们排序有时候不仅是为了让被人更方便的阅读,也是为让我们更方便的阅读,所以有点时候我们把java中的数组中的数进行排序还是非常有必要的。
其实我们的排序其实是进行比较的一个过程。最小的在最右边或者最左边,最大的在最右边或者在最左边,而中间值则在中间。
我们先拿第一个角标里面的值与别的角标里面的值分别进行比较,然后比较完之后从第二个角标的里面的值再分别与别的进行比较,只不过这次不再与第一个角标里面的值再进行比较了。我们可以发现我们第几个角标与别的进行比较的时候都是少了一次。所以我们可以用嵌套循环来写这个代码。
class Demo
{
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;
}
}
}
}
public static void main(String[ ] args)
{
int [ ]arr = {5,1,6,4,2,8,9};
//排序前
printArray(arr);
selectSort(arr);
//排序后
printArray(arr);
}
public static void printArray(int [ ] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++ )
{
if(x!=arr.length-1)
System.out.print(arr[x ]+",");
else
System.out.println(arr[x ]+"]");
}
}
}
这样更好的进行了排序,也用了我们写的另一个代码。增加了代码的复用性。
如果我们想变成倒序的话我们只需要把这if(arr[x]>arr[y])种的小于号改成大于号即可。
希望对于学习数组的大家有所帮助。