java中数组元素的选择排序升序和降序
老眼 2017-11-21 20:23:58
分 享


数组元素选择排序


实现原数组元素按照大小进行升序或者降序排列,即原数组存储元素为{2,1,4,5,3},升序后原数组存储元素变为{1,2,3,4,5},降序后原数组存储元素变为{5,4,3,2,1}


实现原理


从给定的数组中,取出第一个索引0的元素值,分别与后面的索引的元素进行比较,如果第一个索引0的值大于后面的值,则交换这两个元素的位置。如果小于等于则不动。按照这种方法把索引1的元素值分别与后面比较以此类推。


代码实现


public class HelloWord {

public static void main(String[] args) {

//定义一个测试数组

int[] arr = {2,1,4,5,3};

//调用方法

selectSort(arr);

//打印测试

printArray(arr);

}

//定义一个数组元素选择排序的方法

public static void  selectSort(int[] arr) { 

//外层循环用来控制数组循环的圈数

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

//内层循环用来完成元素值比较,把小的元素值互换到比较的第一个元素中

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

//本例以升序,降序把小于号改成大于号

if(arr[i] > arr[j]) {

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

}

//定义一个打印数组的方法

public static void  printArray(int[] arr) { 

//输出一半的中括号

System.out.print("[");

//数组遍历

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

//判断遍历到的元素,是不是数组的最后一个元素

if(i == arr.length - 1) {

//最后一个元素则另外加另一半的中括号

System.out.println(arr[i]+"]");

}else {

//不是最后一个元素,则正常输出数组元素和逗号

System.out.print(arr[i]+",");

}

}

}

}


结果为:[1,2,3,4,5]

吐槽一下

游客

所有吐槽
  • 暂时还没有吐槽,赶紧来吐槽!