想偷懒?用stl吧!!!

来源:互联网 发布:linux apache php7 编辑:程序博客网 时间:2024/04/30 07:00

   久闻stl大名,一直没有认真看。

  这次用到才发现stl的强大之处,可以无限精简代码,且很高效。

  int  cmp(const int a,const int b) {return a>b?1:-1;}  

 

  然后可以调用快排   sort(a,a+10,cmp);   //当然把return 处的比较由大改动到小,就可以改变排序方式

                             make_heap(a,a+10,cmp);//自动建堆,这个取最大,小元素最棒了,效率很高

                             heap_sort(a,a+10,cmp);//再也不用写排序了,写了太俗了

 

  当然了,也可以对结构体排序

  int cmp(const Node a,const Node b) {return a.x>b.x?1:-1;}

 

   然后就可以对结构体进行排序。

                         sort(a,a+10,cmp);

 

 

 

   还有qsort()

   先写比较   int cmp(const int *a,const int *b){return *(int *)a)->x>*(int *)b)->x?1:-1;}

 

                  qsort(a,a+10,cmp);

 

   还有nth_element(a,a+k,a+10)

   这样就取到了第k大的元素,且它位于a[k],且位于它左面的都小于它,位于他右边的都大于它。

 

   还有

   isalpha();//判断是否为0~9字符

   isalnum();//判断是否为字母或0~9字符

   isdigit();//0~9字符

   isupper();//判断是否为大写

   islower();