#include <iostream>usingnamespace std;int maxbit(int *a,int n)
{int d=1;//一位int p=10;//十进制for(int i=0;i<n;i++){while(a[i]>=p){p*=10;++d;}}return d;
}void Radixsort(int *a,int n)
{int radix=1;int k;int d=maxbit(a,n);int *tmp=newint[n];//桶int *count=newint[10];//计数器for(int i=1;i<=d;i++){for(int j=0;j<10;j++){count[j]=0;//计数器每次都清零 }for(int j=0;j<n;j++){k=(a[j]/radix)%10;//取余...
目录2. 什么是虚拟构造函数以及析构造函数2.1 虚函数的实质2.2 基类的析构函数必须用虚函数2.3 以下函数不能使用虚函数1)普通函数2)友元函数3)静态成员函数4)构造函数,拷贝函数5)内联函数;3. 如何定义一个抽象类2.引入原因3.抽象类4.抽象类的规定6.虚函数和纯虚函数有以下所示方面的区别7.抽象类与接口得区别4. 拷贝构造函数的定义4.1 拷贝构造函数的使用4.2 使用场景4.3 编译原理4.4 浅拷贝与深拷贝5. 重载与重写的区别ove...
最近看一些面试题,觉得如果自己被问到了,并不能很利落的回答出来。一是从来没有这个意识,二是没有认真的梳理下。下面对这些题做出分析,哈!个人能力有限,其中难免有疏漏,欢迎大家补充咯!1.C和C++中struct有什么区别?1>C++中的struct类似于class,有变量,有构造函数、虚函数等,有继承,多态等类的特征;2>C中的struct只有变量,不能有函数,但是可以有函数指针2.C++中的struct和class有什么区别?在C++中,两者区别不大,...
1->简述变量声明和定义的区别为变量分配地址和存储空间称为定义,不分配地址称为声明。一个变量可以在多个地方声明,但只能在一个地方定义。加入extern修饰的变量的声明,说明此变量将在文件以外或者文件的最后面定义。 2->简述sizeof和strlen的区别主要区别如下: sizeof是一个操作符,strlen是库函数;sizeof的参数可以是数据的类型,也可以是变量。而strlen的参数只能是以‘\0’结尾的字符串参数。 ...
http://www.mianwww.com/html/2014/05/21208.html 指针和引用的区别指针指向一块内存,它的内容是指向内存的地址;引用是某内存的别名引用使用是无需解引用,指针需解引用引用不能为空,指针可以为空引用在定义是被初始化一次,之后不可变;指针可变程序为指针变量分配内存区域,而引用不需要分配内存区域memcpy和strcpy的区别memcpy用来内存拷贝的,它有指定的拷贝数据长度,他可以拷贝任何数据类型的对象Strcpy它只能去拷贝字符串...
a) 一个整型数(An integer)
b)一个指向整型数的指针( A pointer to an integer)
c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)r
d)一个有10个整型数的数组( An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers)
g)...
题目地址:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/题目描述0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。题目示例示例 1:输入: n = 5, m = 3
输出: 3
示例 2:输入: n = ...
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stdlib.h>
using namespace std;class Date
{
public:
Date(int year=0, int month=0, int day=0)
:_year(year)
, _month(month)
, _day(day)
{
cout << "构造函数" << endl;
} Date( const Date& d)
{
cout << "拷贝构造函数" << endl;
_year = d._year;
_month = d._month;
_day = d._d...
C++ Prime 里有原话(中文):这种“用基类的指针或引用操纵多个类型”的能力被称为多态(polymorphism)。例如有基类Camera, 他的子类有各种Camera,然后已知函数:void lookat(const Camera *pcamera);在实现lookat()时,只要对基类Camera的接口进行编程,而与 指针 pcamera 指向的具体是哪一个类无关(Camera有很多子类)。
每个单独的lookat()调用都会被传入一个Camera子类对象地址。编译器会自动地把他们转换成适当的基类指针。...
题目地址:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)题目示例示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解题思路动态规划:我们假设动态规划列表为f,f(i)代表以元素nums[i]为结尾的连续子数组...
1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该...
面试题1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。 说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。 面试题2:写出bool 、int、 float、指针变量与“零值”比较的if语句 bool型数据: if( f...
转载自:http://blog.csdn.net/sailor_8318/article/details/30543831~n无序数组时间复杂度为O(n)排序有1,2,....一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.(华为)分析:数组的特点是值和下标满足一定的关系,以此作为交换的终止条件。但这个算法的时间复杂度如何证明是O(n)呢? void sortOnorder1(int array[], int len){ int temp; for(int ...
1.对于C++面向对象的理解 对象有数据和函数 封装与信息隐蔽 函数名是对外接口 抽象 类是对象抽象,对象是类的具体 继承与重用 多态 2.空类的默认函数 class Empty{}一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于class Empty{public:Empty(); // 缺省构造函数Empty( const Empty& ); // 拷贝构造函数~Empty(); // 析构函数Empty& operator=( const...
1、指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。而下面2句定义了一个整形变量a和这个整形a的引用b,事实上a和b是同一个东西,在内存占有同一个存...