摘要: http://hi.baidu.com/acmer%CE%CF%C5%A3/blog/item/63cc29a3670f77a1caefd0e1.html凸包点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内。右图中由红色线段表示的多边形就是点集Q={p0,p1,...p12}的凸包。顶点个数n(1)排序:在点集Q中找最左下方的点p0,就是x坐标和y坐标都最小的点,其余的点计算它们的极坐标幅角,以幅角的非降序顺序来排序,如果有幅角相同的,最接近p0的优先。(这是《ACM程序设计培训教程》上的排序方法,由于看不懂什么是幅角,于是上网找了另一种排序方 阅读全文
posted @ 2011-02-20 23:34 CoderZhuang 阅读(297) 评论(0) 推荐(0) 编辑
摘要: qsort和sort的区别先说明一下qsort和sort,只能对连续内存的数据进行排序,像链表这样的结构是无法排序的。First qsort基本快速排序的方法,每次把数组分成两分和中间的一个划分值,而对于有多个重复值的数组来说,基本排序的效率较低。集成在C语言库函数里面的的qsort函数,使用 三 路划分的方法解决这个问题。所谓三路划分,是指把数组划分成小于划分值,等于划分值和大于划分值的三个部分。函数对buf 指向的数据按升序排序。使用方法:void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )int 阅读全文
posted @ 2011-02-20 22:37 CoderZhuang 阅读(421) 评论(0) 推荐(0) 编辑