c++
jiuyueguang
这个作者很懒,什么都没留下…
展开
-
记录代码——循环移位
a = 01111011,循环左移2位的正确结果是: b=11101101b = a >> (8 - 2); //用来得到正常左移丢失的位和循环移位后其正确位置 //b=00000001;a = a << 2; //a = 11101100a = a | b; //a = 11101101如果不是用中间变量 a=(a>>(8-2))|(a<<2)通用:总长度N(8 16 32)原创 2013-08-19 10:21:20 · 2610 阅读 · 0 评论 -
常用排序算法稳定性、时间复杂度分析
1、 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。2、研究排序算法的稳定性有何意义? 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。再简单具体一点,如果A i == A j,Ai 原转载 2013-09-25 20:23:41 · 14981 阅读 · 2 评论 -
二级指针和函数参数——指针参数是如何传递内存的?
0:声明:这篇文章转自林锐的《高质量的C/C++编程指南》,如果想看电子版文档,请去下载【去下载】1:如果函数的参数是一个指针,不要指望用该指针去申请动态内存。示例7-4-1 中,Test 函数的语句 GetMemory(str, 200)并没有使 str 获得期望的内存,str 依旧是 NULL,为什么?void GetMemory(char *p, int num) {转载 2013-10-10 10:27:06 · 6307 阅读 · 0 评论 -
one or morebreakpoints cannot be set and have been disabled解决方案
1:vc调试会出现此问题,这是360拦截的缘故2:解决方案当然是关闭360原创 2013-08-13 14:06:03 · 1449 阅读 · 0 评论 -
vc++6.0打开文件失败解决方案
0:由于某些冲突原因,vc++会打开文件失败1:下载FileTool.exe 【猛戳下载地址】原创 2013-08-12 22:25:14 · 6288 阅读 · 0 评论 -
记录代码——回溯法求组合序列
0:需求(这里分为两个:逆字典序和字典序)描述找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3样例输出5435425415325315214324314213211:准备知识原创 2013-08-23 16:45:03 · 3170 阅读 · 0 评论 -
记录代码——位运算求平均值
0:前言当a和b相加出现溢出的时候采用1:代码(a&b)+((a^b)>>1)2:解释想象一下a和b按照位整齐排序,当a和b对应为上全为1的时候相加会使此位为0,并且会先前进一位,所以当出现对应位全为1的时候,直接在此位保留一个1就算对这两个对应位求平均值了然后剩下就是对应位不全为1的时候,分为a的某一个位为1,对应的b的那个位为0,或者倒过来,或者两个都为原创 2013-08-19 09:51:38 · 1963 阅读 · 0 评论 -
记录代码——快速排序
#include #include using namespace std;void quick_sort(int array[],int left,int right){ if (left<right) { int i=left,j=right,tmp=array[i]; while(i<j){ while(i=tmp){ j--; } if (i<原创 2013-08-19 10:06:07 · 1166 阅读 · 0 评论 -
记录代码——归并排序
#include #include #include using namespace std;void merge(int array[],int start,int mid,int end,int tmp[]){ int i=start,j=mid+1,k=0; while(i<=mid&&j<=end){//注意等号 if (array[i]<=array[j]) {原创 2013-08-19 09:35:19 · 971 阅读 · 0 评论 -
C++ 反射机制的实现Demo
需求:根据类名字符串创建该类的原创 2014-11-12 12:00:17 · 1318 阅读 · 0 评论