/**简单选择排序*/
#include
#include
using namespace std;
int a[]={5,2,1,3,4,6,8,9,10};
void f(int n){
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++)
if(a[j]<a[i]) swap(a[j],a[i]);
...
分类:
其他好文 时间:
2015-06-28 00:07:40
阅读次数:
171
数据结构排序算法总结这章的内容比较经典,都是一些很好的算法,将来很可能会用得到,总结一下,加深一下印象。文章篇幅有点大。 一:插入排序 1)直接插入排序 2)折半插入排序3)希尔排序二、交换排序1)冒泡排序 2)快速排序三、选择排序1)简单选择排序 2)堆排序 四、归并排序五、基数排序一、插入排序....
分类:
编程语言 时间:
2015-06-22 21:58:51
阅读次数:
250
简单选择排序是每次选择第i小的元素,放到第i位置。
第i小的元素只需要从未排序的元素中选出最小的就是。
#include
#include
#include
using namespace std;
#define maxn 20
typedef struct SqList
{
int r[maxn];
int Length;
}SqList;
void InitSqL...
分类:
编程语言 时间:
2015-06-22 16:25:45
阅读次数:
118
一、题目描述
通过随机数据比较各排序算法的关键字比较次数和关键字移动次数,以 及执行时间,取得直观感受。
二、设计要求一、需求分析
实现各排序算法,分别进行以下各组比较,并进行总结。
一、各算法在不同规模下的比较。
1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。
2)比较指标:a)关键字操作次数(比较次数和移动次数...
分类:
编程语言 时间:
2015-06-14 13:52:25
阅读次数:
341
3. 选择排序—简单选择排序(Simple Selection Sort) 基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。...
分类:
编程语言 时间:
2015-05-30 01:47:22
阅读次数:
132
简单选择排序是人们最熟悉的比较方式,其算法思想为:从数组的开头开始,将第一个元素和其他元素进行比较。检查完所有元素后,最小的元素会被放到数组的第一个位置,然后算法会从第二个位置继续。这个过程会一直进行,当进行到数组的倒数第二个位置时,所有的数据便完成了排序。
代码如下:
{CSDN:CODE:674849}
分析可得,简单选择排序的时间复杂度为O(n2)。选择排序的...
分类:
编程语言 时间:
2015-05-28 21:39:10
阅读次数:
312
选择排序中的两个经典算法:简单选择排序,堆排序。简单选排:通过n-1次数据元素的比较,从n-i+1个记录中选择最小的数据,并与第i个数据进行交换,它的时间复杂度是O(n^2)。堆排序:利用堆的特征进行排序,复杂度为O(n*logn)。 1 #include 2 #include 3 4 int...
分类:
编程语言 时间:
2015-05-27 22:33:47
阅读次数:
163
1.简单选择排序。
2.库函数algorithm里sort实现排序。...
分类:
其他好文 时间:
2015-05-15 17:54:08
阅读次数:
96
目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记 录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若...
分类:
编程语言 时间:
2015-05-09 21:45:48
阅读次数:
245
选择排序的基本运算都是在n个元素组成的序列中,选择一个关键字最大或最小的元素输出,然后再从剩余的n-1个元素中选择一个关键字最大或最小的元素输出,以此类推,直到排序结束。以递增排序为例,简单选择排序过程如下:1第一次在数组中查找最小值a[i],然后将a[i]和a[0]交换位置。 2从a[1]开始,同样从a[1]开始往后找到最小值a[j],然后与a[1]交换位置,依次类推。废话不多说,直接贴代码
...
分类:
编程语言 时间:
2015-05-07 14:37:43
阅读次数:
127