选择排序:先不交换,先找到最小的,找到了再交换 public void selectSort(int a[],int n){ int i,j,temp,min;//min存放最小元素的位置 for(i=0;i<n;i++){ min=i; for(j=i+1;j<n;j++){ if(a[j]<a[ ...
分类:
编程语言 时间:
2016-08-06 14:21:11
阅读次数:
148
感觉自己这几篇都是主要参考的Wikipedia上的,快排就更加是了。。。。wiki上的快排挺清晰并且容易理解的,需要注意的地方我也添加上了注释,大家可以直接看代码。需要注意的是,wikipedia上快排的pivot选择的是末尾的数,而不是随机数 ...
分类:
编程语言 时间:
2016-08-05 21:35:49
阅读次数:
153
一.原理 选择排序的原理非常简单,就是选出最小(大)的数放在第一位,在剩下的数中,选出最小(大)的数,放在第二位......重复上述步骤,直到最后一个数。 二.过程 原始数据 第一次排序,选出最小的数1,交换1与25的位置 第二次排序,选出剩下的数据中最小的数4,交换7与4的位置 重复以上过程,最后 ...
分类:
编程语言 时间:
2016-08-05 17:42:03
阅读次数:
204
//排序--选择排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大 ...
分类:
编程语言 时间:
2016-08-05 15:11:19
阅读次数:
176
//排序--插入排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大 ...
分类:
编程语言 时间:
2016-08-05 13:32:45
阅读次数:
159
特别说明 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 选择排序思想 选择排序又称为简单选择排序,主要思想描述如下: 01.假设待排序列表为 。选择排序将 划分为由已排序好序的 部分 以及 未排序的 部分; 注意:刚开始时 部分其实可认 ...
分类:
编程语言 时间:
2016-08-04 21:23:19
阅读次数:
186
介绍 在要排序的一组数中,选出最小或最大的一个数与第一个数交换;然后在剩下的数中再找最大或最小数,与第二个数交换。以此类推...... 直到第n-1个元素(倒数第二个数)和第n个元素(最后一个)比较为止。 过程 第一趟,从n个记录中找出关键码最小的记录与第一个记录交换; 第二趟,从第二个记录开始的n ...
分类:
编程语言 时间:
2016-07-30 22:32:53
阅读次数:
125
*****选择排序***** 方法描述:首先找到第一个最小的数,和第一个数交换;然后从剩下的找出最小的与第二个交换,以此类推。效率: 长度为N的数组,大约N2/2比较,N次交换特点: 1.运行时间和输入无关,有序数组,全部相等的数组,随机数组所用时间一样,没有充分利用输入的初始状态。 2.数据移动最 ...
分类:
编程语言 时间:
2016-07-30 19:53:47
阅读次数:
320
为了易用,我编写排序函数,这和直接在主调函数中用是差不多的。 我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误! 冒泡排序法: 选择排序法: ...
分类:
编程语言 时间:
2016-07-30 16:42:20
阅读次数:
274
【基本原理】 对于给定的一组数据,经过第一轮比较后得到最小的数据,然后将该数据与第一个数据的位置进行交换; 然后对不包括第一个数据以外的其它数据进行第二轮比较,得到最小的数据并与第二个数据进行位置交换; 重复该过程,直到进行比较的数据只有一个时为止。 【举例】 待排序数组 【38,65,97,76, ...
分类:
编程语言 时间:
2016-07-25 01:36:40
阅读次数:
150