用jjava语言实现选择排序算法
代码如下:
/**
* 选择排序
*@author 屌丝程序猿_TNT_
*/
public class ArrayTest {
/**
* 测试方法
* @param args
*/
public static void main(String[] args) {
int[] arr = {11,27,422,42,5,26,23,2,3,45,35,64};
sort(arr);
}
/**
* 选择排序算法
*
* @param arr
*/
private static void sort(int[] arr) {
System.out.println("排序之前:");
for (int i : arr) {
System.out.print(i+"\t");
}
System.out.println("\n");
int temp = 0;//第三方变量,方便换位
//外层for循环,变量变化一次,内层for执行一遍
for (int i = 0; i < arr.length; i++) {//确定第一次要比较的元素
//注意点,j=i+1
for (int j = i+1; j < arr.length; j++) {//外层循环的i元素和内层循环剩余的元素比较
if (arr[i]>arr[j]) {//如果前面的元素大于后面的元素,则进行换位。
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
System.out.println("循环了"+(i+1)+"次");
for (int k : arr) {
System.out.print(k+"\t");
}
System.out.println("\n");
}
System.out.println("\n");
System.out.println("排序之后:");
for (int i : arr) {
System.out.print(i+"\t");
}
}
}