算法
文章平均质量分 61
liushac
这个作者很懒,什么都没留下…
展开
-
二分查找binsearch: 在v[0]<=v[1]<=v[2]<=......<=v[n-1]中查找x,数组v的元素必须以升序排列
/ * binsearch: 在v[0]int binsearch ( int x, int v[ ], int n ){ int low, high, mid; low = 0; high = n - 1; while ( low { mid = ( low + high ) / 2; if ( x high =原创 2009-07-18 12:30:00 · 581 阅读 · 0 评论 -
shellsort: 以递增顺序对v[0]、v[1]、......、v[n-1]进行排序;
#include void shellsort ( int v[ ], int n );int main(){ int i=0; int n=0; int s[5]; s[0]=5; s[1]=3; s[2]=4; s[3]=-2; s[4]=1; n=5; shellsort(s,n); for (i=0;i {原创 2009-07-18 12:29:00 · 638 阅读 · 0 评论 -
快速排序算法
递归的一个例子是快速排序。快速排序算法是C.A.R.Hoare于1962年发明的。对于一个给定的数组,从中选择一个元素(叫做分区元素),并把其余元素划分成两个子集合—一个是由所有小于分区元素的元素组成的子集合,另一个是由所有大于等于分区元素的元素组成的子集合。对这样两个子集合递归应用同一过程。当某个子集合中的元素数小于两个时,这个子集合不需要再排序,故递归停止。下面这个版本的快速排序函数可原创 2009-08-26 19:46:00 · 474 阅读 · 0 评论