该部分是对算法(四)简单排序的总结。算法1、简单选择排序基本思想: 是一种最简单的排序算法,首先,找到数组中最小的那个元素,然后,将它和数组中的第一个元素交换位置。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。算法特点:对于长 ...
该部分是对算法(四)简单排序的总结。
算法1、简单选择排序
基本思想:
是一种最简单的排序算法,首先,找到数组中最小的那个元素,然后,将它和数组中的第一个元素交换位置。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。
算法特点:
- 对于长度为N的数组,选择排序需要大约N2/2次比较和N次交换。
- 运行时间和输入无关,这也导致了无论输入的数据是有序还是无序,执行的时间将是一样长。
- 数据移动是最少的。
- 时间复杂度O(N2),空间复杂度O(1),不稳定。如:(5,4,5,2)排序后两个5的相对位置发生的变化。
1 package basic.sort; 2 /** 3 * 选择排序 4 * 5 * Created by Evan on 2016-8-18. 6 */ 7 public class SelectionSort { 8 public static void selectSort(int[] a) { 9 int i;10 int j;11 int temp = 0;12 int flag = 0;13 int n = a.length;14 for (i = 0; i < n; i++) {15 temp = a[i];16 flag = i;17 for (j = i + 1; j < n; j++) {18 if (a[j] < temp) {19 temp = a[j];20 flag = j;21 }22 23 }24 System.out.println(j);25 if (flag != i) {26 a[flag] = a[i];27 a[i] = temp;28 }29 }30 31 }32 public static void main(String[] args) {33 int i = 0;34 int a[] = {5,4,7,8,9,9,10,2,3,1};35 selectSort(a);36 for(i = 0; i< a.length;i++){37 System.out.print(a[i] + " ");38 }39 }40 }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:基本排序算法
关键词:排序
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。