05 2012 档案

摘要:1:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。既 abcd1234,右移k=4位,变为1234abcd#include<iostream> using namespace std; //--------------------------------------- //方式1,每次右移动1位,时间复杂度为O(m*N) void RightShift(char *s,int k) { int len = strlen(s); int m = k%len; while (m--) { char tempc = s[len - 阅读全文
posted @ 2012-05-03 10:12 foreverlearn 阅读(211) 评论(0) 推荐(0)
摘要://值传递 void swap1(int p,int q) { int temp; temp = p; p = q; q = temp; } //指针传递(地址传递) void swap2(int *p,int *q)//不正确 { int *temp; //定义了指针,但并没有为指针指向的内容分配内存 *temp = *p;// 拷贝p指的内存到temp指向的内存,但temp指向的内存并没有分配 *p = *q; *q = *temp; } void swap3(int *p,int *q)//不正确,改变形参的值,没有改变实参的值原因http://blog.csdn.n... 阅读全文
posted @ 2012-05-01 20:19 foreverlearn 阅读(372) 评论(0) 推荐(0)