- 博客(49)
- 收藏
- 关注
原创 express
#include #include #include #include const int Size = 50;char Stack[Size];char SuffixExpression[Size]; /*后缀表达式数组*/int top = -1; /*始终指向栈顶*/int index = 0; /*后缀表达式索引*//*----------------栈
2016-07-16 01:05:53 542
转载 mips指令简单入门
MIPS Architecture and Assembly Language OverviewMIPS架构及其汇编初步 (开始之前稍微再提下,整体分为4个结构:) 1: 寄存器种类; 2: 算术及寻址指令 3: 程序结构 4: 系统调用 Data Types and Literals数据类型(及字符)Data
2016-06-30 23:59:15 99505 13
转载 MIPS 指令集(共31条)
MIPS 指令集(共31条)MIPS 指令集(共31条)助记符指令格式示例示例含义操作及其解释Bit #31..2625..2120..1615..1110..65..0
2016-06-30 22:56:28 66546 3
转载 C语言字节对齐
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访
2016-03-06 22:14:27 449
转载 Linux GCC常用命令
1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。
2016-02-14 17:15:42 473
转载 内核态和用户态的区别
http://jakielong.iteye.com/blog/771663当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级
2016-02-04 16:53:12 545
转载 C++中的空指针和野指针
空指针常量一个表示0值的整数常量,叫做空指针常量。例如:0、0L、1-1(它们都是值为0的整数常量表达式)以及(void*)0、void* NULL 都是空指针常量,空指针常量可以赋值给任何指针类型,因为它是变体类型(void*)。但是我们更倾向于使用NULL表示这个空指针常量。对于其它方式(比如0)来表示空指针常量虽然不会产生任何问题,但是在根本意义上并不符合空指针常量的定义。因为空指针
2015-12-06 23:47:22 1451
转载 二级指针的作用详解
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46629065一、概念在如下的A指向B、B指向C的指向关系中:首先C是"一段内容",比如你用malloc或者new分配了一块内存,然后塞进去"一段内容",那就是C了。C的起始地址是0x00000008。B是一个指针变量,其中存
2015-12-06 23:05:44 597
原创 堆排序一
#include using namespace std;void Sift(int r[], int i, int n){ int j = 2*i+1; int temp; while (j <= n){ if(j<n && r[j]<r[j+1]){ j++; } if(r[i] > r[j]){ break; } else{ tem
2015-10-13 23:36:30 408
原创 堆排序二
#include using namespace std;void Sift(int r[], int i, int n){ int j = 2*i; int temp; while (j <= n){ if(j<n && r[j]<r[j+1]){ j++; } if(r[i] > r[j]){ break; } else{ temp
2015-10-13 23:11:59 408
转载 Linux 查看软件位置的命令
如果我们在Linux 系统上安装了某个软件,我们可以通过如下的三种方式来确定。 一. Which 命令Shell 的which 命令可以找出相关命令是否已经在搜索路径中。 如: [root@localhost ~]# which gcc/usr/bin/gcc 二. Whereis 命令Whereis 命令搜索更大范围的系统
2014-12-10 10:32:03 1239
转载 为什么计算机用补码存储数据?
在计算机内部,所有信息都是用二进制数串的形式表示的。整数通常都有正负之分,计算机中的整数分为无符号的和带符号的。无符号的整数用来表示0和正整数,带符号的证书可以表示所有的整数。由于计算机中符号和数字一样,都必须用二进制数串来表示,因此,正负号也必须用0、1来表示。通常我们用最高的有效位来表示数的符号(当用8位来表示一个整数时,第8位即为最高有效位,当用16位来表示一个整数时,第16位即为最高有效位
2014-10-31 15:48:02 994
原创 Android引入第三方jar包报错java.lang.NoClassDefFoundError解决办法
1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。2、将引用的第三方包,添加进工作的build path。3、(关键的一步)将lib设为源文件夹。如果不设置,则程序编译可以通过,但运行的时候,会报:java.lang.NoClassDefFoundError: com.weibo.net.Weibo一般在引入第三方jar包时候会出现以上问题,将lib库加入即可
2014-10-27 12:17:09 1768 1
转载 Java Dom Parse XML
Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件,下面结合这个xml文件来进行dom解析。Xml代码 xml version="1.0" encoding="UTF-8"?> books> book id="12"> name>thinking in javaname>
2014-10-25 20:00:33 993
转载 MySQL中Configuration Overview时 卡在Attempting to start service的解决办法
会停留在 图片上的那一步:这时右键“我的电脑” → 点“管理” → “服务和应用程序” → “服务” → 在里面找到 “mysqlXX” → 右键 "属性" → 点击“登录”选项卡如图:选择 本地系统账户后 点击确定 ,然后再 右键 启动 就可以了。这个问题主要是 mysql服务无法正常启动导致卡在
2014-10-21 10:48:57 1183
转载 C++强大背后
在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming,
2014-10-18 12:28:04 709
转载 PreparedStatement和Statement
1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。3.statement每次执行sql语句,相关数据库都要执行sql语
2014-10-10 16:52:17 894
原创 oracle中的dual表
1. dual 确实是一张表.是一张只有一个字段,一行记录的表. 2.习惯上,我们称之为'伪表'.因为他不存储主题数据.3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.如:select * from mytable ;select * from myview;等等.但如果我们不需要从具体的表来取得表中数据,而是单纯地为了得到一些我们想得到的
2014-10-10 11:18:50 773
原创 二维数组与指针
二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行,我们就称之为行数组元素,显然每个行数组元素都是一个一维数组。
2014-10-09 20:54:55 973
转载 平衡二叉树详解
转自:http://www.cnblogs.com/fornever/archive/2011/11/15/2249492.html写的有点儿俗,理论性不是很强,不过还算通俗易懂。总之,谢谢上位大侠的解释~~~平衡二叉树定义(AVL):它或者是一颗空树,或者具有每以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。平衡因子
2014-09-02 21:06:41 1017
转载 关于多重循环效率问题
从http://search.csdn.net/Expert/topic/2568/2568192.xml?temp=.0968439搜到的在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。例如示例4-4(b)的效率比示例4-4(a)的高。for (row=0; row row++){ for
2014-08-29 09:38:31 3965
转载 计算结构体的大小
目录(?)[+]一什么是字节对齐为什么要对齐二编译器是按照什么样的原则进行对齐的三如何修改编译器的默认对齐值结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。看下面这样的一个结构体: struct stu1 {
2014-08-28 20:41:44 636
转载 Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数
2014-08-28 19:25:34 743
转载 深入解析unsigned int 和 int
就如同int a;一样,int 也能被其它的修饰符修饰。除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char、int。Int是默认有符号的。2.unsigned-----无符号,修饰int 、char3.long------长型,修饰int 、double4.short------短型,修饰int
2014-08-27 09:15:24 1393
转载 转载大数据排序 很好的思想
http://www.cnblogs.com/songsu/articles/1457666.html算法的力量:位运算在排序与搜索中的应用楔子: 问题:假设一个文件中有9亿条不重复的9位整数,现在要求对这个文件进行排序。一般解题思路: 1、将数据导入到内存中 2、将数据进行排序 (比如插入排序、快速排序) 3、将排序好的数据存入文件难题: 一个整数为4个字节即使使
2014-08-25 15:43:32 925
转载 1亿个数据取前1万大的整数
数据规模分析 不考虑操作系统的区别,通常将C++中的一个整型变量认为4bytes。那么1亿整型需要400M左右的内存空间。当然,就现代PC机而言,连续开辟400M的内存空间还是可行的。因此,下面的讨论只考虑在内存中的情况。为了讨论方便,假设M=1亿,N=1万。 用大拇指想想略微考虑一下,使用选择排序。循环1万次,每次选择最大的元素。源代码如下://解决
2014-08-25 11:09:54 1283
转载 桶排序
从《基于比较的排序结构总结 》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数的“比较”操作。桶排序就是这样的原理。 桶排序的基本思想 假设有一组长度为N的待排关键字序列K[1...
2014-08-25 09:17:09 711
转载 不是技术牛人,如何拿到国内IT巨头的Offer
出处:lsldd 的博客不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic…在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应
2014-08-18 08:43:18 864
转载 理解有符号数和无符号数
1、你自已决定是否需要有正负。 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我们必须自已决定某个量是否需要正负。如果这个量不会有负值,那么我们可以定它为带正负的类型。 在计算机中,可以区分正负的类型,称为有符类型(signed),无正负的类型(只有正值),称为无符类型。 (unsigned)数值类型分为整型或实型,其中整型又分为无符类型或有符类型,而实型则
2014-08-17 21:18:34 1208
转载 一道腾讯面试题:根据上排给出十个数,在其下排填出对应的十个数
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】举一个例子, 数值: 0,1,2,3,4,5,6,7,8,9 分配: 6,2,1,0,0,0,1,0,0,0 0在下排出现了6次,1在下排出现了2次,
2014-08-17 10:24:52 767
翻译 C++获取系统时间
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ) { time_t t = time(0); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) )
2014-08-17 09:51:37 747
原创 C#网络编程中
//启动socket监听 public void Init() { m_aryClients=new ArrayList(); m_skListen=new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tc
2014-08-05 19:46:15 1137
原创 二叉树非递归遍历
#include #include #include using namespace std;struct Node { char data; Node *lchild, *rchild;};void Create(Node* &root){ char ch; cin >> ch; if (ch == '#') { root = NULL; } el
2014-04-07 19:50:02 902
原创 STL中优先队列
基本操作:empty() 如果队列为空返回真pop() 删除对顶元素push() 加入一个元素size() 返回优先队列中拥有的元素个数top() 返回优先队列对顶元素在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数。使用方法:头文件:#include 声明方式:1、普通方法:priority_queueq;//
2014-04-07 10:15:35 683
原创 STL中stack的用法
stack也是程序设计中常常用到的数据容器,STL为我们提供了stack的实现,因此在使用stack时必须包含头文件,并使用统一命名空间。1.声明一个stack stack s1; stack s2;stack模板类需要2个模板参数,一个为元素类型,一个为容器类型,但是只有元素类型是必要的,在容器类型缺省时,默认为deque。2.stack中的操作
2014-04-06 18:49:35 920
原创 数组奇偶移位
/*奇数在前,偶数在后*/#include #include using namespace std;int main(){ int a[10] = {0, 5, 12, 8, 5, 19, 24, 3, 7, 34}; int *p = a; int *q = a+sizeof(a)/sizeof(int)-1; int temp; while(p < q)
2014-04-04 15:39:35 977
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人