笔试练习一
来源:互联网 发布:淘宝联盟查看pid 编辑:程序博客网 时间:2024/05/18 00:59
1.实现一个Memmcpy函数(重要的是要考虑到内存重叠的情况)
void *Memorycpy(void *dst, const void *src, size_t n){if (dst == NULL || src == NULL){return NULL;}char*Psrc = (char*)src;char*Pdst = (char*)dst;if (dst > src){Psrc += n - 1;Pdst += n - 1;for (int i = 0; i < n; ++i){*Pdst-- = *Psrc--;}}else{for (int i = 0; i < n; ++i){*Pdst++ = *Psrc;}}return dst;}int main(){char a[10] = "123456";cout << (char*)Memorycpy(&a[4], &a[3], 2) << endl;return 0;}
2.给定一副扑克牌和一个随机函数,设计一个洗牌算法
#include<iostream>#include<stdlib.h>using namespace std;void Shuffle(int arr[],int n){ if(arr == NULL) { return ; } int i=0; for(;i<n;++i) { int j= rand()%(n-i) + i; std::swap(arr[i],arr[j]); }}int main(){srand((unsigned)time(0));int arr[52]={0};int i=0;for(;i<52;++i){arr[i]=i+1;}Shuffle(arr,52);for(i=0;i<52;++i){ cout<<arr[i]<<" ";}cout<<endl;return 0;}<span style="font-size:14px;"></span>
3.在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。
给定一个整数n,请返回n位的格雷码,顺序为从0开始。
题目给的n代表位数而不是一个整数,格雷码的n个位数意味着有2的n次方个二进制数,每个二进制数为n位,
每个二进制数相比,都只有一位二进制码不相同;
比如n=1,{0,1};n=2,{00,01,11,10};n=3,{000,001,011,010,110,111,101,100} n=4...........n=1000........
void gray(vector<string>&v, int bit, int n){if (bit == n){return;}vector<string> tmp;for (int i = 0; i < v.size(); ++i){tmp.push_back("0" + v[i]);}for (int i = v.size() - 1; i >= 0; --i){tmp.push_back("1" + v[i]);}v.swap(tmp);gray(v, bit + 1, n);}vector<string> getGray(int n){vector<string> v;v.push_back("0");v.push_back("1");if (n != 1){gray(v, 1, n);}return v;}int main(){vector<string> vv = getGray(3);for (int i = 0; i < vv.size(); ++i){cout << vv[i].c_str() << " ";}cout << endl;return 0;}
1 0
- 笔试练习一
- 【笔试练习】百度笔试题(一)
- 笔试题练习(一)
- C语言笔试练习(一)
- 【笔试练习】美团笔试题(一)
- [笔试练习]
- 笔试题练习1
- [笔试] 编程练习小计
- 笔试题目练习
- Java笔试题练习
- 笔试习题练习
- C笔试题练习
- 华为笔试2014---练习
- 4.10 华为笔试练习
- c#笔试练习
- 笔试题程序练习
- 笔试练习二
- 笔试练习三
- 网络基础:IP地址分类
- 信号发生器
- JQuery 学习总结及实例
- 利用Eclipse+openJTAG调试led.axf文件
- 网页适配的理论方法和装置
- 笔试练习一
- 模仿 微信 长按录音 功能 实现
- Hibernate入门
- Qt:Drag-Drop操作在QGraphicsView及Model/View框架下的实现
- Android LayoutInflater详解
- android listview的适配器------baseadapter
- hashCode与equals的区别与联系
- 洛谷 shlqsh数
- 博客搬家<( ̄︶ ̄)>