- 博客(18)
- 资源 (40)
- 收藏
- 关注
转载 C++ 类的静态成员详细讲解
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和
2012-05-15 15:38:39
1606
转载 堆和栈
这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456/0在常量区,p3在栈上。 stati
2012-05-14 11:09:20
1735
原创 百度笔试题
给定一个数字编码N,大多数情况下可以找到一个数字编码M,其位数与N相同,各位数字之和与N的各位数字之和相同。并且M是大于N的数值中最小的一个,也可能M不存在。如:N=134则M=143.如N=020,则M=101。形式化表述为F(N)=M。如果M不存在,则F(N)=0思想:首先从低位开始,找到第一个不为0的位置,标记为j,然后判断j的上一位是否为9,如果是的话将9与j交换,将9移到后面
2012-05-13 16:39:25
2335
原创 基础知识总结(一)
以下的基础知识题都是最近面试过程中遇到的。 一 static关键字对变量和函数的区别 1、静态全局变量 静态全局变量的特点: (1)该变量在全局数据区分配内存; (2)未经初始化的静态全局变量会被程序自动初始化为0 (3)静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的; 定义静态全局变量的好处: (1)静态全局变量不
2012-05-10 10:14:51
1887
原创 Top—K问题求解
求n个数中最大的K个。方法一:采用堆,建立一个大小为K的堆,然后依次与n个数进行比较。void topK(int a[],int n,int k){ int i; for(i=(k-1)/2;i>=0;i--) { heapAdjust(a,k,i); } for(i=k;i<n;i++) { if(a[0]<a[k]) { int
2012-05-09 22:01:26
2238
原创 求数组中出现次数超过一半的数
假设数组中某一元素出现次数超过总数一半,求该数。int getNumOverHalf(int *a,int n){ int i,temp,count; temp=a[0];count=1; for(i=1;i<n;i++) { if(count==0) { count++; temp=a[i]; continue; } if(
2012-05-07 21:04:53
3199
原创 筛选法求解M以内的素数
void prime(int m){ int *a=(int *)malloc(sizeof(int)*(m+1)); int i,j=2,k=2; for(i=0;i<=m;i++) { a[i]=i; } while(j<=m/2) { if(a[j]!=0) { i=2*j; while(i<=m) {
2012-05-07 19:31:57
2618
原创 按层遍历二叉树
给定一颗二叉树,将这棵二叉树分层打印,层与层之间有空行。例如:输出:AB CD EF G H主要实现函数如下:void visitByLevel(BiNode * head){ List *pre=NULL; List *post=NULL; List *current=NULL; if(head!=NULL) { List *temp=(Lis
2012-05-05 15:18:16
1802
原创 根据先序和中序遍历求解后序遍历结果
采用递归算法如下:每次从先序遍历中找到根节点,然后在中序遍历中根据根节点将串分成左右两部分,依此递归。#include #include int findPos(char inTree[],char c,int in_i,int in_j){ int i; for(i=in_i;i<=in_j;i++) { if(inTree[i]==c) { return i
2012-05-05 13:06:10
3388
原创 大数相乘(c算法)
当两大较大的数相乘时,如果结果直接用整数表示,则有可能溢出,为了解决这个问题,将数用串的形式表示。#include #include #include char * multi(char *mul1,char * mul2){ int len1=strlen(mul1); int len2=strlen(mul2); int c=0,temp=0,k=0,i,j;//c保存
2012-04-23 19:50:42
2921
1
原创 Python中DocStrings
DocStringsPython有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings 。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!使用DocStrings例7.8 使用DocStrings#!/usr/bin/python# Filename: func_
2011-11-04 22:23:04
3107
原创 pyhon学习1
python中运算符表运算符名称说明例子+加两个对象相加3 + 5得到8。'a' + 'b'得到'ab'。-减得到负数或是一个数减去另一个数-5.2得到一个负数。50 - 24得到26。*乘两个数相乘或是返回一个被重复若干次的字符串2 * 3得到6。'la' * 3得到'lalala'。
2011-11-04 22:01:37
3579
转载 int *p[4]与int (*q)[4]的区别
以上定义涉及两个运算符:“*”(间接引用)、“[]”(下标),“[]”的优先级别大于“*”的优先级别。 首先看int *p[4],“[]”的优先级别高,所以它首先是个大小为4的数组,即p[4];剩下的“int *”作为补充说明,即说明该数组的每一个元素为指向一个整型类型
2011-10-11 20:41:05
6293
1
原创 c++笔试,求数组中出现奇数次的2个数
题:有N+2个数,N个数出现了偶数次,2个数出现了奇数次(这两个数不相等),问用O(1)的空间复杂度,找出这两个数,不需要知道具体位置,只需要知道这两个值。 求解:如果只有一个数出现过奇数次,这个就比较好求解了,直接将数组中的元素进行异或,异或的结果就是只出现
2011-10-11 19:10:01
5871
原创 兄弟字符串求解
如果两个字符串的字符一样,但是顺序不一样,被认为是兄弟字符串,问如何在迅速匹配兄弟字符串(如,bad和adb就是兄弟字符串)。分析:以下解法就是分别统计源字符串和目标字符串中每个元素的个数,然后判断个数是否相同,复杂度o(2*n) bool isbrother(str
2011-09-25 20:02:38
4971
2
转载 位运算应用口诀和实例
位运算应用口诀和实例 位运算应用口诀 清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如
2011-09-23 10:59:31
2089
转载 C++ 虚函数表解析
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板
2011-09-12 22:33:02
2437
TCP-IP详解卷2实现
2012-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人