摘要:
约瑟夫环问题: 输入:1)总共人数;2)每次被杀的序号数; 输出:最后一个活着的序号python代码如下:n=int (input('please input the number of people:') )k=int (input('please input the discard number:'))a=[]for i in range(n): a.append(i+1)print 'all the serial number of people:'print ai=0j=1while len(a)>1: if j==k: d... 阅读全文
摘要:
普通表达式一般由数字、变量与+-*/()运算符号组成。例如:(a+b)*3 - (a-b)/2其逆波兰表达式是:a b + 3 * a b - 2 / -本质上,普通表达式是中序表达式,逆波兰表达式是后序表达式。一)、由普通表达式生成逆波兰表达式 1、初始化1个逆波兰字符串变量outstr,以及1个符号栈;自左向右输入表达式串; 2、如果当前字符为数值或变量,则直接添加到逆波兰字符串后outstr; 3、如果当前字符为运算符号,如果是“(”,则直接压入符号栈;如果是“)”,则从栈中逐项pop运算符号,追加在outstr后;如果是其他运算符号,比较当前与栈顶的运算符优先级,如果当前低,则pop栈 阅读全文
摘要:
//8-bucket sortvoid bucket_sort( int *arr, int n ){ vector > buckets; int i; for( i=0; i tmps; buckets.push_back( tmps ); } int base; int *backup = new int[n]; int *pos = new int[n]; for( i=0; i<n; backup[i]=arr[i], pos[i]=i, ++... 阅读全文
摘要:
堆排序//7-heap sort methodvoid build_heap( int *arr, int start, int n ){ if( (start+1)*2 > n ) return; if( (start+1)*2 == n ) { if( arr[start] 1; offset-=2 ) { if( arr[offset/2-1] 1; ) { --offset; ... 阅读全文
摘要:
#includeusing namespace std;//1-insert sort methodvoid insert_sort( int *arr, int n ){ int i, k; for( i=1; i0; --k ) { if( arr[k] 0; --k ) { for( i=0; i arr[i+1] ) { int tm... 阅读全文
摘要:
基类为抽象类,在不同的动态库中实现不同的执行行为,但是每个动态库要提供2个统一的方法:1) baseClass * create(); 2) void destroy( baseClass* );,调用该实际类的上下文,通过dlopen,dlsym( dl, "create"), dlsym( dl, "destroy")来获得实际对象的句柄。实际上是一种工厂/builder模型。1. 基类//base.h#include class baseClass {public: virtual void test(){}; virtual ~baseClass 阅读全文
摘要:
char* urlencode(const void* buf, size_t size) { _assert_(buf && size = 'A' && c = 'a' && c = '0' && c > 4; if (num = ep) break; c = *str; if (c >= '0' && c = 'a' && c = 'A' && c = ep) break; 阅读全文
摘要:
http://www.infoq.com/cn/articles/designing-restful-http-apps-roth摘要:本文对RESTful HTTP的基础原理做了一个概览,探讨了开发者在设计RESTful HTTP应用时所面临的典型问题,展示了如何在实践中应用REST架构风格,描述了常用的URI命名方法,讨论了如何使用统一接口进行资源交互,何时使用PUT或POST以及如何支持非CURD操作等。Java 调用HttpClient httpClient = new HttpClient();IHttpRequest request = new GetRequest(central 阅读全文