摘要: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。C语言实现 1 #include 2 #include ... 阅读全文
posted @ 2013-08-02 18:42 cpoint 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 在计算机科学中,Bogo排序(bogo-sort)是个既不实用又原始的排序算法,其原理等同将一堆卡片抛起,落在桌上后检查卡片是否已整齐排列好,若非就再抛一次。其名字源自Quantum bogodynamics,又称bozo sort、blort sort或猴子排序.实现以下是C代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 void swap(int *a, int *b) //交换两元素的值10 {11 int t;12 t... 阅读全文
posted @ 2013-08-02 18:36 cpoint 阅读(3152) 评论(0) 推荐(0) 编辑
摘要: 1.基本函数在C语言中取随机数所需要的函数是:int rand(void);void srand(unsigned int n);rand()函数和srand()函数被声明在头文件stdlib.h中,所以要使用这两个函数必须包含该头文件: #include2.使用方法 rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。 srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我. 阅读全文
posted @ 2013-08-02 17:22 cpoint 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: Stooge排序是一种低效的递归排序算法,甚至慢于冒泡排序。在《算法导论》第二版第7章(快速排序)的思考题中被提到,是由Howard、Fine等教授提出的所谓“漂亮的”排序算法。实现如果最后一个值小于第一个值,则交换它们如果当前子集元素数量大于等于3:使用Stooge排序前2/3的元素使用Stooge排序后2/3的元素再次使用Stooge排序前2/3的元素#include #include #include #include #include void swap(int *a, int *b) //交换两元素的值{ int t; t=*a; *a=*b... 阅读全文
posted @ 2013-08-02 12:56 cpoint 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。算法快速排序采用一种“分而治之、各个击破”的观念。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。步骤为:从数列中挑出一个元素,称为 "基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准 阅读全文
posted @ 2013-08-02 12:05 cpoint 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 梳排序(Comb sort)是一种由Wlodzimierz Dobosiewicz于1980年所发明的不稳定排序算法,并由Stephen Lacey和Richard Box于1991年四月号的Byte杂志中推广。梳排序是改良自泡沫排序和快速排序,其要旨在于消除乌龟,亦即在阵列尾部的小数值,这些数值是造成泡沫排序缓慢的主因。相对地,兔子,亦即在阵列前端的大数值,不影响泡沫排序的效能。在泡沫排序中,只比较阵列中相邻的二项,即比较的二项的间距(Gap)是1,梳排序提出此间距其实可大于1,改自插入排序的希尔排序同样提出相同观点。梳排序中,开始时的间距设定为阵列长度,并在循环中以固定比率递减,通常递减率 阅读全文
posted @ 2013-08-02 11:17 cpoint 阅读(390) 评论(0) 推荐(0) 编辑
浏览次数:travelocity promotion codes