/** * 选择排序 * @params * @author 奇 * @return */ public class Demo02 { public static void main(String[] args) { int [] nums = {23, 4, 5, 24, 13, 65}; int... ...
分类:
编程语言 时间:
2018-12-17 02:13:46
阅读次数:
140
直接插入排序: 基本思想: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素;排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的有序表,重复n-1次完成整个排序过程。 实例: 0.初始状态 3,1,5,7,2,4,9,6(共8个数 ...
分类:
编程语言 时间:
2018-12-16 17:10:25
阅读次数:
189
一、选择排序 原理:比方说有一个数组:3,5,7,9,1; 从第一个数字开始,后面的数字依次与第一个比较,如果小于第一个,则和第一个交换位置。比如这里的 1 < 3,则会变成1,5,7,9,3,这样下来,最小的会被放在第一个的位置上 然后从第二个数字开始,后面的数字依次与第二个比较,这样,倒数第二小 ...
分类:
编程语言 时间:
2018-12-16 15:21:06
阅读次数:
206
(一)时间复杂度为O(N²),空间复杂度为O(1)的排序 冒泡排序 选择排序 插入排序 (二)时间复杂度为O(NlogN)的排序 归并排序,空间复杂度为O(N) 快速排序,空间复杂度为O(logN)~O(N) 堆排序,空间复杂度为O(1) 经典堆排序实现使用了递归的方式(函数栈),空间复杂度为O(l ...
分类:
编程语言 时间:
2018-12-12 15:01:34
阅读次数:
233
定义 是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不 ...
分类:
编程语言 时间:
2018-12-10 18:16:09
阅读次数:
178
数组的排序是Java学习中的一个重难点,但是要实现一组乱序的数列进行排序只要明白了其中的思想,还是挺容易的。 下面我将以一种常用的方法进行数组的排序:这里用到的方法是“选择排序”。代码如下: package Demo; public class ArrayDemo {/** * 数组排序 * 选择排 ...
分类:
编程语言 时间:
2018-12-10 14:00:27
阅读次数:
179
https://blog.csdn.net/weixin_38277423/article/details/70304120 区别主要在交换的方式上 每一轮都把最大或最小的元素筛选出来放在相应的位置上 这是相同的 但是 对于每一轮 比如第一轮 要把1~n 中最大的那个放到n这个位置 冒泡法每次比较和 ...
分类:
编程语言 时间:
2018-12-08 23:58:33
阅读次数:
355
#include <stdio.h> void Simple_Select_Sort(int *Array,int length){ int i,j,min,temp; for(i = 0; i < length; i++) { min = i; for(j = i+1; j < length; j ...
分类:
编程语言 时间:
2018-12-08 19:12:23
阅读次数:
213
1、冒泡排序 最简单的一种排序算法。先从数组中找到最大值(或最小值)并放到数组最左端(或最右端),然后在剩下的数字中找到次大值(或次小值),以此类推,直到数组有序排列。算法的时间复杂度为O(n^2)。 2、选择排序 每一趟在n-i+1(i=1,2,...,n-1)个记录中选取关键字最小的记录作为有序 ...
分类:
编程语言 时间:
2018-12-08 17:03:08
阅读次数:
111