如何在Django模板中注入全局变量
2014-11-17 14:53
393 查看
#include <vector> #include <iostream> #include <iterator> #include <algorithm> using namespace std; template<typename T> class comparator { public: bool operator()(const T & p, const T & q) const { return p < q; } }; template<typename E, typename C> void mergeSort(vector<E> & S, const C & less) { typedef vector<E> vect; int n=S.size(); vect v1(S); vect * in=&v1; vect v2(n); vect * out=&v2; for(int m=1; m<n; m*=2) { for(int b=0; b<n; b+=2*m) merge(*in, *out, less, b, m); swap(in,out); } S=*in; } template<typename E, typename C> void merge(vector<E> & in, vector<E>& out, const C & less, int b, int m) { int k=b; int n=in.size(); int key[4]={b, b+m, min(b+m,n), min(b+2*m,n)}; while( ( key[0] < key[2] ) && ( key[1] < key[3] ) ) { if(less(in[key[0]],in[key[1]])) out[k++]=in[key[0]++]; else out[k++]=in[key[1]++]; } for(int i=0; i!=2; ++i) { if( key[i] < key[i+2] ) out[k++]=in[key[i]++]; } } int main() { vector<int> V; comparator<int> cmp; int A[8]={3,-2,1,12,5,2,8,0}; copy(A, A+8, back_inserter(V)); mergeSort(V, cmp); vector<int>::iterator p; for(p=V.begin(); p!=V.end(); ++p) cout<<*p<<" "; cout<<endl; return 0; }本文出自 “永夜” 博客,谢绝转载!
相关文章推荐
- Django——如何在Django模板中注入全局变量?——part1
- 如何在Django模板中注入全局变量
- Django——如何在Django模板中注入全局变量?——part2
- Symfony2CookBook:如何将变量注入全部模板(如全局变量)
- 谈谈django里的Contex和RequestContext---向模板里添加全局变量
- Django模板变量如何传递给外部js调用的方法小结
- django模板注入(变量传递到模板)
- django模板注入(变量传递到模板)
- [Django 1.5] jQuery/Ajax 在Django使用 ,如何更新模板里里变量
- 如何声名全局变量?
- 在MFC下如何定义全局变量和全局函数
- 代码优化小贴士:如何处理大量的全局变量更合适?
- delphi工程中如何定义全局变量
- jax-rs(Java API for RESTful Web Services) 实践教程 之五 —— 注入全局变量 和 rest的生命周期
- 在MFC下如何定义全局变量和全局函数VC++
- oracle中如何跨不同session支持可读写的全局变量
- 如何声明一个全局变量,可以在应用的任何单元引用
- 如何统计网站访问量,代码实现使用全局变量 Application,start,end,Session_start,Session_end事件
- 主线程如何与次线程用全局变量通讯
- 在ASP.net中如何定义和使用全局变量