选择排序算法
前言
作为自己对慕课学习算法思想这门课的笔记,将里边的例子用java的方式实现
- 选择排序的复杂度
选择排序的算法复杂度为O(n^2) - 什么要用O(n^2)的排序?
基础
编码简单,易于实现,是一些简单情景的首选
在一些特殊情况下,更加有效的
简单的排序算法可以衍生出复杂的算法
作为子过程,改进更复杂的算法 - java代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
n = in.nextInt();
int[] array = new int[n];
for (int i=0;i<n;i++){
array[i] = in.nextInt();
}
selectionSort(array,n);
for (int i=0;i<n;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void selectionSort(int[] arr,int n)
{
for (int i=0;i<n;i++){
int minIndex = i;
for (int j=i+1;j<n;j++){
if (arr[j]<arr[minIndex]){
minIndex = j;
}
}
int temp;
temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
具体思想大家可以自己去慕课https://coding.imooc.com/class/71.html我觉得讲的不错,推荐去看,这里只是自己的java实现。