- 博客(129)
- 资源 (6)
- 收藏
- 关注
转载 ntohs, ntohl, htons,htonl的比较和详解
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long int" 32Bytes ntohl()--"Network to Host Long int" 3
2017-06-13 10:12:10 19814 1
原创 【烽火集训】新员工第一周学习总结
2016年7月7日入职以来,目前已经过4天的紧张学习以及第五天的考试。现粗略记录如下:《公共基础知识》周一上午:公司企业及文化介绍;人力资源管理-员工发展周一下午:人力资源管理-人事制度;人力资源管理-薪酬政策周二上午:财务知识;公司级安全教育周二下午:ESD防静电基础知识;IT信息安全考核知识点有:
2016-07-15 16:17:51 3519 1
原创 【生活杂想】生命若不停,研究应不止
九月十月份忙完了找工作,轻松了不久又开始忙着做毕业设计,代码弄好写文章,忙忙碌碌三四个月才猛然发现好久没有接触新能量的学习,天天沉积在恐惧盲审、改完代码改论文的碌碌无为中。想着将来工作方向与当前毕业论文研究方向关系不大,心中不免有几分疑问,这样瞎忙活好像挺没意思的。 偶尔停下脚步思考时,不免有些憧憬未来,个人比较喜欢模式识别(手势识别、体感等)与机器智能方向的学习,希望自己可以坚持吧!
2016-03-20 20:07:12 795
原创 启动新的Activity
1.启动新的Activity,即添加一个新的类,通过“New java Class”按钮进行新建一个名字:SecondActivity.java的类,在src文件夹下面2.为新建的SecondActivity类添加布局文件复制原来的activity_main.xml文件,重命名为activity_second.xml,修改里面的布局。【一个按钮+一个文本】<LinearLa
2015-10-20 21:57:02 671
原创 intent之发短信与打电话
1.新建一个按钮,当按钮按下时,响应事件里,通过intent发短信或者打电话layout下的activity_main.xml中新建一个名字“phone”的按钮<Button android:id="@+id/mainBtn" android:layout_width="wrap_content" android:layout_height="wrap_conten
2015-10-20 11:52:06 716
原创 Button控件及添加响应事件
1.Button控件的添加也是在layout下的activity_main.xml下进行<Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点我" />上面这段代码,
2015-10-19 17:05:38 1350
原创 EditText属性
和TextView类似,EditText的添加也是在layout下的activity_main.xml下进行的:<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:inputType=
2015-10-16 20:58:49 540
原创 TextView控件和属性
一、显示文字的两种方法:1.在src下的MainActivity.java中通过定义TestView对象实现(注意一定呀importTextView类)TestView tv= new TestView(this);tv.setText("你好");setContentView(tv);2.在布局中编辑,layout下的activity_main.xml中<TextViewa
2015-10-16 17:32:01 688
原创 【华为机试】北京题2015.10.14
第一题:交叉排序,本来以为很简单,结果没注意到题目的运行时间限制,哎,一直超时,不晓得原因,分别采用了冒泡、直接选择、快排,全部超时冒泡:#include using namespace std;#define maxsize 1000int main(){ int n=0,a[maxsize]; int b[maxsize],c[maxsize]; int k1=0,
2015-10-14 17:30:27 1215
原创 【数据结构与算法】Hash表
Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性,它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来,从而能够很快速地进行查找。 Hash表的设计思想 对于一般的线性表,比如链
2015-09-26 11:18:12 739
原创 【数据结构与算法】哈夫曼树
1. 哈夫曼树的基本概念 哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。 所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为: WPL=(W1*L1+W2*L2+W3*L3+...+ Wn*Ln) N个权值Wi(i=1,2,...n)构成一棵有N个
2015-09-12 16:00:33 1345
原创 【数据结构与算法】图
一、概念 定义: 图由点集合和边集合组成,记做G=(V,E),其中点集合不能为空且应该有穷,边集合可以为空。 ①有向图:边有方向,用表示 ②无向图:边没有方向,用(Vi,Vj)表示 ③完全图:每两个顶点之间都有连线,有向完全图的边有n(n+1)个;无向完全图有n(n+1)/2个边。 ④路径和回路:路径是指从一个点到另外一个点走过的路
2015-09-12 15:51:18 1331
原创 各类排序小结
——O(n*n)——①冒泡排序时间复杂度,最差、平均都是O(n*n),最好是O(n),空间复杂度 1,是一种稳定的排序②直接插入时间复杂度,最差、平均都是O(n*n),最好是O(n),空间复杂度 1,是一种稳定的排序③直接选择排序时间复杂度,最差、平均都是O(n*n),空间复杂度 1,是一种不稳定的排序——O(n*logn)——①快速排序时间复杂
2015-09-11 16:25:56 535
原创 【排序】希尔排序法
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效
2015-09-11 15:54:14 715
原创 【排序】堆排序法
二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:
2015-09-11 14:53:18 151
原创 【排序】归并排序法
分治的基本思想:是将原来的问题分解成若干个规模更小但结构与原问题想死的子问题,然后递归去解决这些子问题,最后将这些子问题的解的组合作为原问题的解。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。//将有序数组a[]和b[]合
2015-09-11 14:29:29 420
原创 【排序】直接选择排序
直接选择排序思想:先把0位置设置为索引,接着用index(索引)向后找最小的, 每一趟分别把最小的放在前面,然后和原来前面的数据交换位置。 时间复杂度:O(n*n) 代码:#include using namespace std;#define MAXN 100int a[MAXN + 1]; //全局变量存数组int main() {
2015-09-11 14:12:20 588
原创 【排序】插入排序法
插入排序(insertion sort)的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的序列中,直到全部记录插入完成为止. 直接插入排序 基本思想 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n].从i = 2起直到i = n 为止,依次将R[i]插入当前的有序区R[1
2015-09-11 14:02:09 1037
原创 【排序】冒泡排序法
冒泡排序法,是最简单的一种排序方法,从第一个位置开始与相邻位置比较,判断是否需要交换位子。 第一趟从第一个位置开始,直到最后一个位置,A[n-1],确定最大(以升序为例子)的数放在最后一位,A[n-1] 第二趟,继续从第一个位置开始,倒数第二位,A[n-2],确定倒数第二大的数在倒数第二位A[n-2] …… 算法复杂度:冒泡排
2015-09-11 13:48:50 622
原创 【排序】快速排序法
分治的基本思想:是将原来的问题分解成若干个规模更小但结构与原问题想死的子问题,然后递归去解决这些子问题,最后将这些子问题的解的组合作为原问题的解。 快速排序的图解过程如下:代码:#include using namespace std;#define MAXN 100int a[MAXN + 1], n; //全局变量存数组void QuickSort(i
2015-09-11 13:36:15 746
原创 输入不定长度的整数的显示
说明:输入一行整数,数与数之间用空格隔开,换行符表示结束。注意:每次输入的整数数目不确定。样例输入:1 3 5 2 6 7 9换行(换行符表示结束)#include using namespace std;int main(){ int n=0,a[100]; int i=0; char ch=0; while(ch!= '\n')
2015-09-10 16:08:21 725
原创 【程序员面试宝典】RTTI与运算符重载
❀RTTI RTTI(Run-Time Type Identification)是面向对象程序设计中一种重要的技术。现行的C++标准对RTTI已经有了明确的支持。不过在某些情况下出于特殊的开发需要,我们需要自己编码来实现。和很多其他语言一样,C++是一种静态类型语言。其数据类型是在编译期就确定的,不能在运行时更改。然而由于面向对象程序设计中多态性的要求,C++中的指针或引用(Re
2015-09-09 19:38:58 605
原创 【程序员面试宝典】检测并修改不合适的继承
面试例题1:如果鸟是可以飞的,那么鸵鸟是鸟么?鸵鸟如何继承鸟类?[美国某著名分析软件公司2005年面试题]解析:如果所有鸟都能飞,那鸵鸟就不是鸟!回答这种问题时,不要相信自己的直觉!将直觉和合适的继承联系起来还需要一段时间。 根据题干可以得知:鸟是可以飞的。也就是说,当鸟飞行时,它的高度是大于0的。鸵鸟是鸟类(生物学上)的一种。但它的飞行高度为0(鸵鸟不能飞)。
2015-09-09 15:36:22 661
原创 【生活杂想】谨言慎行
上午10点参加华为网络能源部门的宣讲,去之前知道这个部门是偏硬件方向,问了相关负责的同学,被告之也有软件相关的,便打印了简历匆匆去了。 因为算是开学的第一个宣讲会,参加的同学还是蛮多的,后面站了大概三排人,还好有熟人比我去的早,便蹭了半个凳子坐下。因为考虑到站着的人比较多,宣讲人很体谅的说,会讲的快一些,所以,原本原定2个小时讲完的宣讲,在1个小时之内讲完,只是,在最后环节的岗位介绍中,
2015-09-09 11:16:45 513
原创 STL中的模板介绍
详细文档下载:http://download.csdn.net/detail/haoxiaodao/9082557泛型编程就是一种通用编程技术,适用于不同类型的数据,STL就是一种典型的泛型编程,它包含容器和模板。容器的介绍在:http://blog.csdn.net/haoxiaodao/article/details/48244527这里主要介绍模板是什么?模板包含
2015-09-06 15:37:56 116
原创 STL中的所有容器资料
第一类容器(支持迭代器)❀序列容器Vector(随机迭代访问)【向量】说明:vector是一种动态数组,是基本数组的类模板。其内部定义了很多基本操作。#include 注意:头文件没有“.h”构造:vector v1; // 默认构造函数vector v2(init_size,0); //如果预先定义了:int init_size;他的成员值都被初始化为0;
2015-09-06 15:18:30 571
原创 c++的深拷贝和浅拷贝
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std; class CExample {private: int a;public: CExample(
2015-09-05 21:38:34 334
原创 简易火车票售票系统
#include #include using namespace std;#define maxsize 100int n;//全局站点总数int max=0,min=0;int ship[maxsize][maxsize]={0};//全局票数矩阵int maxnum(int a[]){ int i=0; int max=0; for(i=0;i<n;i++) {
2015-09-01 20:29:25 2058
原创 最佳路径
分析问题:创造结构体,包含三个量,存储源ID,目标ID,从源到目标的距离。根据输入建立邻接矩阵表,最后通过三重循环,找到最短距离矩阵表,最后按照给定的源和目的ID输出最短距离。代码:#include #include using namespace std;#define MAX 10000#define maxsize 100struct node{ int s;//源
2015-09-01 19:16:12 1214 1
原创 胜负猜想
分析问题:这一题其实本质上是求最大递增子序列长度的问题,比如213的最大递增子序列长度为2,则甲胜出(因为len-2=1,len是长度)2222的最大递增子序列长度为1,则假胜出(因为len-1=3,len是长度)而222则是乙胜出。代码:#include #include using namespace std;#define maxsize 100bool isdig(st
2015-09-01 17:14:01 433
原创 逆波兰表达式
逆波兰表达式又叫做后缀表达式。它的语法规定,表达式必须以逆波兰表达式的方式给出。正常的表达式 逆波兰表达式a+b ---> a,b,+a+(b-c) ---> a,b,c,-,+a+(b-c)*d ---> a,b,c,-,d,*,+a+d*(b-c)--->a,d,b,c,-,*,+a=1+3 ---> a=1,3 +(1-2)*(3+6)---> 1,2,-,3
2015-09-01 16:46:39 869
原创 火星计算器
大体来看,程序主要流程为这么几步 1. 将得到的字符串进行去空格处理。 2. 将第1步得到的字符串(此为中缀形式)转换为逆波兰式(后缀式) 3. 将第2步得到的逆波兰式(RPN)进行计算,求出结果并输出。代码:#include #include #include #include #include using namespace std;#define MAX
2015-09-01 15:19:58 713
原创 【循环列表】之魔术师的扑克牌问题
问题描述:在一次晚会上,一位魔术师掏出一叠扑克牌,取出其中13张黑桃,预先洗好后,把牌面朝下,对观众说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一,将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌子上。第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑
2015-09-01 10:48:29 1922 1
原创 【循环列表】之约瑟夫问题
约瑟夫问题:n个人围成一圈,从第一个开始报数1,报数到第m个的人将被杀掉,然后继续下一个人报数1,再次报数到m的人被杀掉,这样循环报数,最后剩下一个,其余人都将被杀掉。由n个人围城一圈,我们想到用循环列表解决问题历史来历:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也
2015-09-01 09:52:41 696
原创 【线性表】之链式存储结构
线性表有两种普遍的存储方式:顺序存储和链式存储。顺序存储的最大特点是简单,简单的读取操作方便,而其致命的缺点是当进行插入或删除操作时,需要移动大量的元素,耗费时间,而此缺点链式存储恰可以完美的解决。下面是链表一系列操作的代码,用户自定义函数主要包括:/*//创建一个链表_头插法√//创建一个链表_尾插法√//置空表√//求列表长度√//取得节点i位置的数值√
2015-09-01 09:28:51 508
原创 【oj平台】合唱队&动态规划
问题分析:选择一个位置作为顶点位置,这个位置左边是升序,右边是降序,参考开口向下的抛物线。输入序列后,可以循环选择任意一个位置为顶点位置,而后分别求出此种设定下,左侧的最大升序长度和右侧的最大降序长度。循环比较选择出最佳顶点的位置。这里的难题是如何求出一个序列的最大升(降)序列长度。【动态规划是一种最常见的方法】:举例子说明:有一组序列为1 4 6 3 5 8
2015-08-30 12:13:57 1109
原创 【链表】逆序输出
#include #include using namespace std;#define maxsize 100#define null 0typedef struct node{ int data; struct node * next;}node, *linklist;int strtonum(string s){ int i=0,len=s.length(); i
2015-08-29 17:05:17 990
原创 【放苹果】m个苹果放到n个盘子中
m个相同的苹果,放在n个相同的盘子中,由于相同,使用排列组合的方法不好处理。这里选用递归调用的方式解决问题:(8个苹果,放在3个盘子里)=(8个苹果,放在2个盘子)+(5个苹果,放在2个盘子【每盘已经放入1个苹果】)+(2个苹果,放在2个盘子里【每盘已经放入一个苹果】)=(8个苹果,放在1个盘子里)+(6个苹果,放在1个盘子里【每盘已经放入1个苹果】)+(4个苹果,放在1个盘子
2015-08-29 10:03:57 5670
原创 【RIP路由协议】由相邻路由发来的RIP信息更新当前路由的路由表
2015.8.17中兴在线笔试的最后一题:更新原则:【最短距离原则】1.对于路由C发来的RPI报文(表2),先修改报文中的各个项目,包括下一跳字段全部改为C,跳数全部加1;新的表2如下:2.对于修改后的RPI报文(新的表2)进行以下步骤:①若原表中没有该目的地址(N),则把该项目添加进路由表中(路由A的表1中)②若收到的项目(新表2中的一行称为一条项目),跳
2015-08-27 12:46:50 18284 10
C++程序设计
2017-12-01
混合高斯背景建模程序实现+说明
2014-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人