摘要: 1.90%人不能正确写出的二分查找 1 int binarySearch(int a[],int n,int key) 2 { 3 int left=0; 4 int right=n-1; 5 while(left<=right)//易错点:一定要是小于等于 6 { 7 int mid=left+((right-left)>>1);//1。防止溢出,当l,r很大时,(l+r)>>1可能溢出,2.位运算加快速度 3.一定要加括号,>>优先级小于+ 艹,你妹啊 8 if(a[mid]>key) 9 rig... 阅读全文
posted @ 2013-01-25 11:28 曙光_用代码记录人生 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 1.几个概念: |--时钟周期--|--时钟周期--|--时钟周期--|--时钟周期--|--时钟周期--|--时钟周期--|--时钟周期--|--时钟周期--...................| |--------机器周期(CPU周期)----------|--------机器周期(CPU周期)----------|--------机器周期(CPU周期)----------| |-------------------------------------------------指令周期--------------------------------------------------... 阅读全文
posted @ 2012-12-08 01:06 曙光_用代码记录人生 阅读(339) 评论(0) 推荐(0) 编辑
摘要: C\C++ : auto register extern static 的作用????对于一个完整的程序,在内存中的分布情况如下图:代码区 //low address全局数据区堆区// new /malloc 动态分配的位子,,也就是内存中未被使用的那部分内存栈区 //high address(局部变量)auto register 都是定义局部变量的,auto int a 和 int a,无差异,不过最近填了一个新功能(可推断类型):auto a=10;知道a=int a=10;(VS2010,codeblocks)编译---》链接(extern 表示定义在别个文件中)A.cpp{ int.. 阅读全文
posted @ 2012-12-07 17:43 曙光_用代码记录人生 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 今天看到了基本关于C语言书籍的推荐,百科查了下还不错,列出来,寒假有时间看看:C语言:C语言解惑(过于简单,艹)你必须知道的495个C语言问题C陷阱与缺陷C编程专家 (提高)算法:编程之美编程珠玑剑指offer---名企面试官精讲典型编程题 何海涛深入理解计算机系统未完待续... ... 阅读全文
posted @ 2012-12-06 23:48 曙光_用代码记录人生 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1.C语言没有string s;用char * s; char s[100];表示字符串对于字符串的scanf("%s",s); s前面不需要加&,,,2.scanf("_%d",&a); 前面加上一个空格,避免循环输入的时候用getchar();吃掉后面的enter;3.c=getchar(); putchar(); 和 c=getch();putch(c);的区别前者先输入到缓冲区,当按下回车后,才赋值,可用回退修改;;;而后者直接赋值,不能修改;输入字符串包含空格:gets(s); puts(s);4. int a=4; float 阅读全文
posted @ 2012-12-06 22:23 曙光_用代码记录人生 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1、写一个函数找出一个整数数组中第二大的数。// 时间复杂度O(n)const int MINNUMBER = -32767;int find_sec_max(int data[], int count){ int maxnumber = data[0]; int sec_max = MINNUMBER; for(int i = 1; i < count; i++) { if(data[i] > maxnumber) { sec_max = maxnumber; maxnumber = data[i... 阅读全文
posted @ 2012-12-06 00:36 曙光_用代码记录人生 阅读(198) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-12-05 22:27 曙光_用代码记录人生 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-12-04 23:22 曙光_用代码记录人生 阅读(3) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>using namespace std;typedef struct node{ int value; struct node* next; node(){next=NULL;} node(int v,node* n){value=v;next=n;}}node;void insert(node*& head,int a[],int n)//??????????????????注意要用引用{ node* rear=NULL; for(int i=0;i<n;i++) { if(!head) rear=head=new node(a 阅读全文
posted @ 2012-12-04 23:01 曙光_用代码记录人生 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1.O(n)的排序(其实是快速排序的第一步):把一个数组的排序,前面是奇数,后面是偶数,时间复杂度O(n),空间复杂度O(1)#include <iostream>#define arraylength 10using namespace std;int array[arraylength]={1,3,3,3,5,11,15,13,17,15};void rearrangeArray(int array[],int n)//前面是奇数后面是偶数{ int front=-1; int rear=n; while(front<rear) { while(fro... 阅读全文
posted @ 2012-12-04 21:47 曙光_用代码记录人生 阅读(394) 评论(0) 推荐(0) 编辑