排序算法之选择排序算法【java实现】

简介:遍历数组,每次选出最小的数与索引第一个进行交换,直到全部完成。

package zhgyu.sort;
/**
/*选择排序算法
 * @author zhgyu
 *
 */
public class SelectionSort {

	static final int SIZE = 10;
	
	public static void selectionSort(int[] arr) {
		int index,temp;
		//从第一个数开始当索引
		for(int i = 0; i < arr.length - 1; i++) {
			index = i;
			for(int j = i + 1; j < arr.length; j++) {
				//如果后面的小于指定的索引数就替换他俩
				if(arr[index] > arr[j]) {
					temp = arr[index];
					arr[index] = arr[j];
					arr[j] = temp;
				}
			}
			//排序一次的结果
			System.out.println("第" + (i+1) + "次的排序结果:");
			for(int k = 0; k < arr.length; k++) {
				System.out.print(arr[k] + "\t");
			}
			System.out.println();
		}
	}
	
	public static void main(String[] args) {
		
		int[] arr = new int[SIZE];
		int i;
		
		for(i = 0; i < SIZE; i ++) {
			arr[i] = (int)(Math.random()*(100 + 1));
		}
		//排序前的数组
		for(i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + "\t");
			
		}
		System.out.println();
		
		selectionSort(arr);
		
		//输出数组arr
		System.out.println("最终的排序结果:");
		for(i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + "\t");
		}
		System.out.println();
	}
}

猜你喜欢

转载自blog.csdn.net/qq_40702130/article/details/82995132
今日推荐