自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (1)
  • 问答 (8)
  • 收藏
  • 关注

原创 使用递归求平均值

  如果数组长度为1,则可以直接返回平均值结果;否则将数组A视为两部分,即A[n-1]和A[0,…,n-2],递归地处理A[0,…,n-2]中n-1个数的平均值avg,通过(avg*(n-1)+A[n-1])/n即可求得数组A中所有数的平均值。float arrayavg(float A[],int n){ if(n==0) return A[n]; else...

2018-08-13 17:15:43 12139 5

原创 递归算法求n个不同字符的所有全排序列

  设str是含有n个不同字符的数组例如12345,perm(str,k,n)为str[0]~str[k]的所有字符全排序输出函数,n为str数组字符个数。以此类推,perm(str,k-1,n)处理的字符个数比perm(str,k,n)处理的字符个数少一个。假定perm(str,k-1,n)可求,对于第k个位置可以任取str[0]~str[k-1]内任意元素作为str[k],再组合perm(st...

2018-08-13 16:46:05 4546 1

转载 让DevC++支持ISOC++11标准

工具->编译选项 语言标准 设置ISO C++ 11原文:https://blog.csdn.net/qiqi123i/article/details/53150837

2018-07-12 22:38:15 2423 1

转载 结构体边界对齐

  许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们就称类型S的对齐要求比T强(严格),而称T比S弱(宽松)。这种强制的要求一来简化了处理器与内存之间传...

2018-05-30 13:02:30 1278

转载 TCP 为什么是三次握手,而不是两次或四次?

简单说,让双方都证实对方能发收。 知道对方能收是因为收到对方的因为收到而发的回应。 具体: 1:A发,B收, B知道A能发 2:B发,A收, A知道B能收和发 3:A发,B收, B知道A能收转载自:TCP 为什么是三次握手,而不是两次或四次? - 朱翔的回答 - 知乎 https://www.zhihu.com/question/24853633/answer/115072630...

2018-05-17 17:47:40 426

原创 子网划分为什么全0全1子网号不能使用?CIDR为什么能使用全0全1子网号?

1.子网划分为什么全0全1子网号不能使用?看看RFC950提到的原因: 假设我们有一个网络:192.168.0.0/24,我们现在需要两个子网,那么按照RFC950,应该使用使用两位子网号,即/26,得到两个可以使用的子网192.168.0.64/26和192.168.0.128/26 对于主网络192.168.0.0/24,网络地址是192.168.0.0,广播地址是192.168.0...

2018-05-10 14:50:49 21821 18

原创 子网划分、子网掩码、可变子网掩码(VLSM)和CIDR

一、子网划分  可以把基于每类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于每类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。   需要知道子网划分只是在路由器所管理的网络,在外部网络来看没有变化。二、子网掩码...

2018-05-08 20:03:51 5057

原创 逻辑地址、线性地址与物理地址简析

2018-05-08 19:14:11 443

原创 电脑中常用的“扇区”、“簇”、“块”、“页”等概念

先看百度百科对于磁盘簇的解释: 扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间...

2018-05-05 21:28:50 9072 1

转载 NAT技术基本原理与应用

原文链接:https://www.cnblogs.com/dongzhuangdian/p/5105844.html1 概述1.1 简介1.1.1 名词解释公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻 址的地址。私有IP地址:也叫内部地址,属于非注...

2018-05-05 11:15:36 18592

转载 HTTP协议为什么可以传送HTML以外的文件?

原文链接:https://blog.csdn.net/wangjian5748/article/details/5932261.http协议的主体信息部分是使用html来包装的,http协议刚开始是用来传送html的,只是和MIME协议结合才可以传送别的格式数据。2.http与MIME分别是两个此协议,MIME可以附属在其他许多协议上,例如SMTP协议,利用MIME协议可以在协议中包含特殊...

2018-05-04 15:55:56 1287

转载 FTP 协议和 HTTP 协议的12点比较(文件上传/下载)

原文链接:https://www.oschina.net/news/28162/http-vs-ftp许多站点,比如facebook或一些博客等都允许用户上传或下载文件,比如论坛或博客系统的图片。在这种情况下,通常有两种选择上传文件到服务器,那就是FTP协议和HTTP协议。以下列出了一些两者的不同点:1、HTTP协议是用来浏览网站的,而FTP是用来访问和传输文件的,FTP文件传输有点批...

2018-05-04 15:51:14 1260

转载 主机怎么加入组播组

原文链接:https://www.zhihu.com/question/27233903 知乎用户:车小胖组播也是一种IP包,也有源IP地址,目的IP地址,源IP地址为组播源的服务器IP地址,目的地址为一个特殊的IP地址,它位于 224.0.0.0 - 239.255.255.255 中,由于 224.0.0.0/8用于本地链路,即一跳的组播,239.0.0.0/8 为私有组播地址,所以实际的...

2018-04-30 21:12:00 17855 3

原创 移动IP的作用及意义

一. 移动IP出现的背景1.随着IP网络的迅速发展,人们不再满足于单一的、固定的因特网接入方式,而是希望能够提供灵活的上网方式。2.无线互联网的发展,要求IP网络能够提供对移动性的良好支持。3.个人通信时代的到来,要求用户在任何地方都可以利用自己的一个专有地址上网。4.在未来的IPv6网络中,网络节点的概念不只局限在传统的主机,还包括各种智能设备,如汽车等,加上IPv6对移动IP的...

2018-04-30 20:46:07 7682 1

原创 Mac帧的源Mac地址在转发过程会变化的原因

  这涉及到交换机的自学习功能。交换机是通过转发给他的Mac帧来逐步建立转发表和ARP缓存表进行自学习。交换机是要建立ARP缓存表,它的自学习过程只能学习到发给他的帧的源MAC和端口映射,所以路由器需要改变帧中源MAC为自己的MAC,这样中间的二层交换机才能学习到。   下面是具体的转发过程:   交换机中有一张MAC地址表,当交换机接收到任一数据帧,它首先会记录该数据帧的源端口和源MAC地址...

2018-04-30 20:24:43 10157

原创 c++ string与int(其他的内部类型)转换

一、int转string1.如果你用的编译器是基于最新的C++11标准,那么string和其他类型转换问题就变的很简单,因为中已经封装好了对应的转换方法:标准库中定义了to_string(val);可以将其它类型转换为string。string to_string (int val);string to_string (long val);string to_string (lon...

2018-04-30 00:18:04 240

原创 1084. 外观数列 (20)

外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, … 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 ...

2018-04-23 11:58:22 251

原创 Hash时取模为什么要模质数

  首先来说假如关键字是随机分布的,那么无所谓一定要模质数。但在实际中往往关键字有某种规律,例如大量的等差数列,那么公差和模数不互质的时候发生碰撞的概率会变大,而用质数就可以很大程度上回避这个问题。   考虑模是合数的情况:假设N = kn, M = km, N和M存在最大公因数k,此时可以将N % M = r转化为公式N = Mq + r,即kn = kmq + r。其中q是商,r是余数。“表...

2018-04-22 00:23:05 3372 1

原创 堆排序的时间复杂度分析

堆排序包括两个阶段,初始化建堆和重建堆。所以堆排序的时间复杂度由这两方面组成,下面分别进行分析。先post一个实现代码,便于分析。#include <stdio.h>void swap(int *a, int *b);void adjustHeap(int param1,int j, int inNums[]);void HeapSort(int nums, int in...

2018-04-21 01:27:18 73200 8

转载 希尔排序的时间复杂度为什么能小于O(n^2)

可以用逆序数来理解,假设我们要从小到大排序,一个数组中取两个元素如果前面比后面大,则为一个逆序,容易看出排序的本质就是消除逆序数,可以证明对于随机数组,逆序数是O(N^2)的,而如果采用“交换相邻元素”的办法来消除逆序,每次正好只消除一个,因此必须执行O(N^2)的交换次数,这就是为什么冒泡、插入等算法只能到平方级别的原因,反过来,基于交换元素的排序要想突破这个下界,必须执行一些比较,交换相隔比较...

2018-04-20 20:41:28 2181

原创 1065. 单身狗(25)

“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数;随后N行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(<=10000),为参加派对的总人数;随后一行...

2018-04-12 20:09:56 360

原创 C++map和vector在没赋值情况下的默认值

map和vector都可以用operator[]进行访问,map是用[]中的数据作为key进行查询,而vector是用[]中的数作为下标进行访问。如果在用operator[]进行访问的时候出现了越界情况,即map没有这个键值对,或vector的大小小于下标数值,会发生什么情况?struct node{int a{5};};int main() { map<string,no...

2018-04-11 23:40:40 10369 2

原创 C++/Java中string的几点不同

一.关于二元运算符”==”C/C++: 1.在比较两个字符数组时不能利用符号“==”,“==”符号比较的是两个字符数组的地址是否相等。 2.若是比较两个字符,则可以用”==”直接进行比较 3.但在比较两个string对象时是可以利用“==”的,直接比较string的内容,相等的话,则表达式的返回值为1,不等为0。因为C++重载了”==”运算符,比较两个string对象的内容。 Jav...

2018-04-11 22:59:35 717

原创 1062. 最简分数(20)

一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为K的最简分数。输入格式:输入在一行中按N/M的格式给出两个正分数,随后是一个正整数分母K,其间以空格分隔。题目保证给出的所有整数都不超过1000。输出格式:在一行中按N/M的格式...

2018-04-11 17:54:53 279

原创 C/C++中scanf和cin的读取回车、空格等分隔符

输入流cin无论什么情况下都会忽略tab、空格、回车等分隔符,包括但不限于cin>>int,cin>>char,cin>>string等情况。scanf函数在除scanf("%c",&char)之外的所有情况都不会把回车符作为输入字符在输入缓存中读取,但scanf("%c",&char)也不会读取tab、空格,而是把他们作为分隔符在输入缓存中...

2018-04-10 22:45:45 14507 3

原创 分页、分段和段页式存储管理方式

1.分页管理  分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0#块、1#块等等。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形...

2018-04-10 20:56:44 5305

原创 vector<vector<int>>作为二维数组

vector本来就是可以用来代替一维数组的,vector提供了operator[]函数,可以像数组一样的操作,而且还有边界检查,动态改变大小。 这里只介绍用它来代替二维的数组,二维以上的可以依此类推。1、定义二维vectorvector&lt;vector&lt;int&gt; &gt; v;//注意&gt;和&gt;之间的空格。2、访问二维vector的元素的三种方式...

2018-04-10 20:22:59 13768 1

原创 1060. 爱丁顿数(25)

英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(&lt;=N)。输入格式:输入第一行给出一个正整数N(&lt;=105),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。输出格式:在一行中给出N天的爱丁顿...

2018-04-07 17:03:08 90

转载 1040. 有几个PAT(25)

字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式:在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对10000...

2018-04-07 14:57:25 126

原创 1045. 快速排序(25)

著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:1的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管3的左边元素都比它小,但是它右边的2它小,所...

2018-04-07 12:32:23 207

原创 1049. 数列的片段和(20)

给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这10个片段。给定正整数数列,求出全部片段包含的所...

2018-04-04 17:04:09 81

转载 1035. 插入与归并(25)

根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪...

2018-04-03 23:12:37 415 1

原创 1030. 完美数列(25)

给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M &lt;= m * p,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(&lt;= 105)是输入的正整数的个数,p(&lt;= 109)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在...

2018-04-03 20:45:59 798

原创 1027. 打印沙漏(20)

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输...

2018-04-03 16:04:07 103

原创 17. Letter Combinations of a Phone Number

给定一个数字字符串,返回数字所有可能表示的字母组合。下面给出数字到字母的映射(和电话号码一样)。 输入:数字字符串 "23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明: 尽管上面的答案是按字典序排列的,但是你的答案

2018-04-02 14:53:02 141

原创 1025. 反转链表 (25)

给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(&lt;= 105)、以及正整数K(&lt;=N),即要求反转的子链结点的个...

2018-03-31 17:06:28 114

原创 1020. 月饼 (25)

月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼...

2018-03-31 11:02:21 149

原创 1017. A除以B (20)

本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3解题思路:由于...

2018-03-31 10:40:59 87

原创 1015. 德才论 (25)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第1行给出3个正整数,分别为:N(&lt;=105),即考生总数;L(&gt;=60),为录取最低分数线,即德分和才分均不低...

2018-03-31 09:34:14 126

原创 C/C++中sort函数排序方法的选择

STL的sort函数在数据量大时采用快排,分段递归排序,一旦分段后的数据小于某个值,就改用插入排序。如果递归层次过深,还会改用堆排序。这样就结合了各类算法的所有优点。 另外sort函数的排序区间是[a,b),所以如果对数组t的第0到len-1的元素排序,就写sort(t,t+len);对向量v排序也差不多,sort(v.begin(),v.end())。...

2018-03-31 08:38:26 601

移动IP技术详解

讲述有关移动IP技术的知识。最简单的说,移动IP技术就是让计算机在互联网及局域网中不受任何限制的即时漫游,也称移动计算机技术。专业一点的解释,移动IP技术是移动节点(计算机/服务器/网段等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

2018-08-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除