- 博客(30)
- 收藏
- 关注
原创 求最大公约数(递归)
#include <iostream>using namespace std;class Solution{public: int func(int m,int n){ if(m%n==0) return n; else return func(n,m%n);}};int main(){ int a=2...
2019-08-13 19:46:55
287
原创 结构体大小计算,地址对齐小结
参考:https://blog.youkuaiyun.com/weixin_42339542/article/details/80501366第一个成员的偏移量为0,第二个成员的偏移量为第一个成员的偏移量加上第一个成员的大小,依次类推。结构体的大小等于最后一个成员的偏移量+其所占的字节数原则1:结构体中成员的偏移量必须是该成员所在字节数的整数倍。原则2:结构体的大小必须是所有成员的整数倍,即最...
2019-08-12 17:07:50
210
原创 字符串查找子串,主串A="ababcabcacbab",要求在A中查找B="abcac"
#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;class Solution{public: char *strFind(char * string, char *substring) { if (string == NULL &...
2019-08-12 09:15:55
1860
原创 使用auto for遍历二维数组的问题
刚刚在复习笔记是看到auto for,然后有一个题,将元素的值设置为该元素在整个数组的序号。#include <iostream>using namespace std;int main(){ constexpr size_t M=3,N=4; int arr[M][N]; for(size_t i=0;i!=M;++i) { ...
2019-08-08 11:49:45
1421
转载 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
#include<iostream>using namespace std; void insertArray(int A1[], int A2[], int len1, int len2){ int newIndex=((len1--)+(len2--))-1;//先给原值再自减 while (len1 >= 0 && len2 >= 0)...
2019-07-01 11:31:11
173
翻译 替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution {public: void replaceSpace(char *str,int length) { if(str==nullptr || length<0) ...
2019-07-01 10:23:39
104
原创 关于C++赋值语句的返回值问题
赋值语句的返回值永远为真?当然不是!比如:int a=0;int b=(a=-1)?2:3;int c=(a=0)?2:3;cout << b << endl;cout << c << endl;输出:再比如:while(int a=0)//什么也不执行{ cout<<"Y"; ret...
2019-06-30 16:47:26
1189
原创 二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > array) { ...
2019-06-30 10:14:52
98
原创 数组中重复的数字(不改变数组)
题目:不修改数组找出重复的数字。在一个长度为n+1的数组中的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。在不修改输入数组的情况下找出数组中任意一个重复数字。例如输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},则对应输出的是2或者3。由于不能修改输入的数组,我们可以创建一个长度为n+1的辅助数组,然后逐一把原数组的每个数字复制到辅助数组。如果原数组中被复制的...
2019-06-29 16:53:39
300
翻译 数组中重复的数字
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。(那么对应的输出是重复的数字2或者3)。class Solution {public:// Parameters:// ...
2019-06-27 20:42:02
104
原创 TCP三次握手与四次挥手
参考博文:https://blog.youkuaiyun.com/qq_34386891/article/details/80515912一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: ...
2019-06-27 11:22:56
96
翻译 面试题1:赋值运算符函数
如下为类型CMyString的声明,请为该类型添加赋值运算符函数。classCMyString{public:CMyString(char*pData=NULL);CMyString(constCMyString&str);~CMyString(void);private:char*m_pData;};在Java...
2019-06-27 09:44:05
125
原创 重载赋值运算符的意义 – 浅拷贝和深拷贝
接上篇https://blog.youkuaiyun.com/uguihiho9ihu/article/details/93775864浅复制/浅拷贝 执行逐个字节的复制工作MyString S1, S2;//同类对象S1 = “this”;//上篇重载了“=”,可以将字符串赋值给Mystring类S2 = “that”;S1 = S2;//浅拷贝深复制/深拷贝将...
2019-06-26 21:43:00
295
原创 关于赋值运算符的重载
当类类型的对象这种概念引入后,原来的一些传统运算符就不能直接使用了,要经过运算符的重载。但是赋值运算符是可以直接使用的,比如有类型A 定义 A a; A b; a=b;这样是可以的。但,仅限于同种类型的对象。却,通常不这样使用!比如把一个char*类型的字符串赋值给一个字符串对象,就需要重载赋值运算符!赋值运算符 “=” 只能重载为成员函数,类似的还有 (),[ ] , -> , ne...
2019-06-26 21:07:59
384
原创 C++中4个与类型转换相关的关键字小结。
参考链接:https://blog.youkuaiyun.com/flyingsbird/article/details/79521522C++一共有四种与类型转换相关的关键字,分别为:(1):static_cast(2):const_cast(3):reinterpret_cast(4):dynamic_cast代码格式统一为:cast-name < type > (e...
2019-06-26 16:54:40
238
原创 不使用乘除法,for,while,if,else等关键字计算1+2+3+......+n
采用构造函数和静态变量结合:#include <iostream>using namespace std;class Temp{ public: Temp(); static int Getsum(); private: static int n; static int sum;}; int Temp...
2019-06-26 09:18:35
267
转载 不使用流程控制语句打印1~1000的整数
构造函数与静态变量结合的方法:#include <iostream>using namespace std;class print{ public: print() { printf("%d\n",a); ++a; } private: static int a;};int print...
2019-06-25 21:49:46
257
原创 斐波那契序列(非递归与递归)
斐波那契序列:f(0)=0; f(1)=1; f(n)=f(n-1)+f(n-2);非递归:#include <iostream>using namespace std;long long Fibo(unsigned n){ int result[]={0,1}; if(n<2) return result[n]; l...
2019-06-24 15:28:05
206
原创 C++中strcpy()函数和strcpy_s()函数的使用及注意事项
参考链接:https://blog.youkuaiyun.com/leowinbow/article/details/82380252原函数strcpy()函数和安全版本strcpy_s()函数都是存在于头文件<cstring>中的,所以程序一开始必须要有以下语句:#include <cstring>...
2019-06-19 10:45:12
684
转载 C/C++伪随机数
作者:Veahow链接:https://www.jianshu.com/p/a07cad3ce39c来源:简书伪随机数计算机里头产生的“随机数”不是真正意义上的随机数,它是计算机中的随机函数按照某种特定算法模拟产生的。可以说我们按照这个算法而算出来的结果都是确定的。如何去理解这段话呢?就像简单的1+1算式,我们按照规定的加法算法算出来了结果2,这个结果完全是确定的,出现这个结果的...
2019-06-16 21:12:31
791
原创 N*N矩阵旋转问题(顺时针,逆时针)
方法一:对于矩阵旋转可以将其分块,具体来说就是分为 上、下、左、右 四个部分。比如将其顺时针旋转90度,可以先把上部分保存留用,然后把左部分赋值给上部分(此时上部分已经有备份留用的了),下部分赋值给左部分,右部分赋值给下部分,保存的上部分的备份赋值给右部分。简言之,左-->上,下-->左,右-->下,保存-->右。//上:a[first][i]//下:a[la...
2019-06-14 17:03:09
5097
原创 水仙花数
输出三位数的所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3+ 5^3+ 3^3;#include <iostream>#include <math.h>using namespace std;int main(){ int a=0,b=0,c=0;//分别用于保存...
2019-06-13 21:14:06
12481
1
原创 剑指offer面试题14:剪绳子(动态规划)
题目:给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]*k[1]*...*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18.关键点:第一刀有n-1个选择,第一段绳子长度可能为1,2,3.....n-1; ...
2019-05-09 14:13:05
226
转载 C语言程序可以没有main函数(2)
原文链接https://blog.youkuaiyun.com/cherisegege/article/details/80297320
2019-01-23 14:44:06
536
转载 for(;;)和while(true)的区别
作者:chtxia 来源:优快云 原文:https://blog.youkuaiyun.com/rexct392358928/article/details/53813963 “死循环”有两种写法:for(;;)和while(true),两者有啥区别,有啥源码中多数是for( ; ; )这种形式的,编译前 编译后 while (1); mo...
2019-01-23 14:24:58
458
转载 C/C++中头文件(.h)和源文件(.cpp)都写些什么?(1)
原作者内容:https://www.cnblogs.com/fenghuan/p/4794514.html头文件(.h): 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef CIRCLE_H#define CIRCLE...
2019-01-21 14:59:31
629
原创 C++Primer中关于“一个单词转换的map里”读取第一个单词读入key,行中剩余内容存入value及跳过前导空格的理解。小白笔记,不对请指正
首先理解几个小点:前导空格:编程语言中的一个概念,指的就是变量或者常量值的有效内容前面的空格。同时,在编程语言中还有“尾随空格”,指的就是变量或者常量值的有效内容后面的空格。cin的读取是遇到空格就停止#include <iostream>#include<string>using namespace std;int main(){ stri...
2019-01-20 21:01:46
180
原创 while(cin>>word)是怎么工作的
while(cin>>word)工作步骤是:从输入流中读取,以空格为分隔保存到word里面。具体来说就是输入yyy hhh对while循环来说就是执行了两次,第一次遇到空格结束,接着第二次从空格后面开始读(不管有多少个空格都是从实际字符开始)。#include <iostream>#include <string>using namespace ...
2019-01-20 13:21:49
630
原创 while(cin>>word)如何退出
给出一个英语句子,希望你把句子里的单词顺序都翻转过来。比如:输入: I love you 输出: you love I#include <iostream>#include <vector>#include <string>#include <list>using namespace std;int main(){ ...
2019-01-20 12:43:53
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人