摘要:
简介 JDBC是Java规定的访问数据库的API,目前主流的数据库都支持JDBC。使用JDBC访问不同的数据库时需要安装不同的驱动。 JDBC定义了数据库的链接,SQL语句的执行以及查询结果集的遍历等等。JDBC把这些操作定义为接口,位于包java.sql下面,如果java.sql.Connec... 阅读全文
摘要:
1.启动与关闭 Windows下安装完mysql之后会自动启动mysql服务,打开或者关闭mysql可以直接在系统的服务管理页进行。 从上图可见,mysql server安装的service名为MySQL56,我们也可以在命令行下输入net start mysql56 打开服务,输入net ... 阅读全文
摘要:
1、a是任意一个数,b是任意一个大于a的数,c是大于b并且是a的倍数,求c与a、b之间的表达式 c=b+(a - b %a)2、房间外有三盏灯,房间内有三个开关,并且只能出去看一次,如何确定三盏灯分别对应那个开关? 先开一盏灯,保持点亮状态,关闭后再开另外一盏灯。这时候出去只要摸一下哪个灯泡热,那个冷就都知道了。3、怎样统计一个岛的人口? 无固定答案,查户口、从使用的资源上平均估计等等 阅读全文
摘要:
程序读取磁盘上的数据只能通过系统调用read,而read得代码在内核中,所以当read调用发生时,执行权会从用户代码转移到内核代码,而这种来回的切换也是需要时间的,因此可以设置缓冲区以减少切换所带来的时间消耗。//who.c文件#include <stdio.h>#include <utmp.h>#include <fcntl.h>#include <unistd.h>#include <time.h>#define SHOWHOSTvoid showtime(long);void show_info(struct utmp*);vo 阅读全文
摘要:
我想,如果把下面的这些经典书都吃透了,我应该就算是入门了。《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie《C专家编程》Peter Vander Linde《C和指针》Kenneth A.Reek《C陷阱与缺陷》Andrew Koenig《C++ Primer》Stanley B.Lippman《鸟哥的Linux私房菜》鸟哥《UNIX环境高级编程》W.Richard Stevens《UNIX网络编程》1,2卷 W.Richard Stevens 《Linux内核源代码情景分析》毛德操《深入理解Linux内核》Daniel P. Bovet / M 阅读全文
摘要:
1.who是如何工作的who实际上是通过utmp文件来获取登陆用户的信息的#include <utmp.h>信息结构如下:#define UTMP_FILE /var/adm/utmp#define ut_name ut_userstruct utmp{ char ut_user[32];//登录名 char ut_id[14]; char ut_line[32];//设备名 short ut_type;//入口类型 pid_t ut_pid;//进程id struct exit_status{ short e_termination; ... 阅读全文
摘要:
1.首先新建一个文件夹mkdir /media/CentOS2.挂载光盘mount -t auto /dev/cdrom /media/CentOS3.修改yum配置文件cd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.bak接着修改CentOS-Media.repo[c5-media]name=CentOS-$releasever - Mediabaseurl=file:///media/CentOS/ "这里设置为上述新建的目录gpgcheck=1enabled=1 "这里改为为1gpgkey=file:// 阅读全文
摘要:
1.套接字地址结构IPv4套接字地址结构struct in_addr{ in_addr_t s_addr;//32位的IPv4网络字节序}struct sockaddr_in{ uint8_t sin_len;//带符号8位整数地址结构长度 sa_family_t sin_family;//协议族,IPv4为AF_INET in_port_t sin_port;//端口号 struct in_addr sin_addr;//32位IPv4网络字节序地址 char sin_zero[8];//填充对齐位,未使用};通用套接字地址结构struct sockaddr{ u... 阅读全文
摘要:
1、运算符重载可以改进可读性,但不是非有不可。2、重载方法:friend 类型 operator 运算符(A&,A&)例如:friendAoperator+(A&,A&)3、C++规定,运算符中,参数说明都是内部类型时,不能重载!4、.、::、.*、->、?:;不能重载,也不能创造新的运算符5、赋值运算符和拷贝构造函数区别:用拷贝构造函数时还没有对象,赋值时已经有了对象6、数组名不能赋值,它的实质是一个常量指针7、语法:类型名&operator=(类型名 & 参数)8、赋值运算符重载应该声明为成员函数,二目运算符一般声明为友元 阅读全文
摘要:
1、类的所有对象往往需要共享某个数据,所以需要静态成员,如学生类中的学生总数2、静态成员的使用:如staticinttotal;//注意不能初始化3、初始化形式:intstudent::total=0;//最好放在类的内部实现文件中,便于重用4、当使用对象来调用静态变量时,c++只关心对象的类型5、静态成员函数与类联系,不与类的对象联系,所以访问静态成员函数时,可以不需要对象。如果用对象去引用静态成员函数,只是用其类型。6、一个静态成员函数不和任何对象相联系,故不能对非静态成员进行默认访问!!!7、普通函数需要直接访问类的保护或私有数据成员的原因主要是为提高效率。8、友元的使用:friend 阅读全文
摘要:
1、继承的工作方式:classgraduatestudent: publicstudent2、类与类之间,以接口作为沟通,即使基类与子类也不例外。3、构造基类Graduatestudent(参数表):student(pName)//带基类的构造函数4、类以另一个类对象作数据成员,称为组合。5、若派生类重载了基类中的函数,则调用派生类函数,若无则调用基类函数。6、在运行时能依据其类型确认调用哪个函数的能力,称为多态性,或迟后联编、滞后联编。编译时就能确定哪个重载函数被调用,称为先期联编。7、若语言不支持多态,则不能称为面向对象的。8、实现多态技术,必须避免用面向过程的思维,如在类内部加一个成员来 阅读全文
摘要:
1.全局变量、静态变量、常量存放在全局数据区,所有类成员函数和非成员函数代码存放在代码区,为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区,余下的空间都被作为堆区。2.使用New和delete 而不使用malloc原因在于其不能在分配时调用构造函数。3.函数声明参数只需写类型,而定义时则需要写形参4.从堆上分配对象数组,只能调用默认的构造函数,不能调用其它任何构造函数,释放内存用delete[]ps(ps 为对象数组名),[]是要告诉C++该指针指向的是数组5.拷贝构造函数发生的情况:①用一个对象去构造另一个对象②对象作为参数传递时6.拷贝构造函数声明,例如:Student 阅读全文
摘要:
网络这东西就是一个靠实践的东西,只靠看书是不行的。当年在学校还上过史美林教授/张公忠教授所讲的计算机网络体系结构课,用的是Tanabaum写的那本,考试还得了九十多分,可实际还是连TCP和UDP有什么区别都分不清,就是死记背,到毕业的时候基本上是忘光了,工作后等于重新来过。上班了要在Linux做一些底层的网络处理,不得不从头来学Linux和网络,编程部分主要看RichardStevens的那几本书:APUE、UNP、TCP/IPIllustraion等,学Linux则看得很杂,市面上各种Linux入门书大都翻了一遍,俺是习惯在书店里看书,爱看书而不爱买书,汗,,然后就是去各大BBS、论坛把.. 阅读全文
摘要:
今天参加CVT2012实习生笔试,嵌入式Linux方向题目是有三道,有点意外,原本还以为要考很多基础的知识。1、a = 2*x+1,且a为7的倍数,0<a<20000,求满足条件所有a的和a = 2*x+1 为7的倍数,2*x 为偶数,则a为奇数, 那么a只能是7,21,35,….,19999 sum = 7(1+3+5+…+2857) 编程求解即可 2、求两个三位数相乘所得到的最大回文数主函数 for(i = 999; i>=101;–i) for(j = i ; j >= 101;–j)判断回文函数: ①itoa转化为字符串 ②首个与最后一个比较,第二个与倒数第二个 阅读全文
摘要:
1、满足a=x*x+1,所有为偶数的和是__________(其中0<a<2971282;x>0的正整数)若a = x*x+1为偶数,则x*x为奇数,即x为奇数,即x =1,3,5.... sum = 1+9 +25+...+(n+1)/2 (n 为小于sqrt(2971282-1)的最大整数)2、写出下面程序的运行结果:#include <stdio.h>int func(int x){ int count = 0; while(x) { count++; x = x &(x-1); } return count;}void main(void){ pr 阅读全文
摘要:
CentOS自带的yum源中rpm包数量有限,很多时候找不到需的软件包,,下面在CentOS6.2中(以64位系统为例,32位系统安装方法一样),使用第三方yum源来安装更多软件包。一、安装CentOSyum源优先级插件yum-priorities yuminstallyum-priorities#输入y安装二、设置CentOS默认yum源的优先级为最高cd/etc/yum.repos.d/#进入yum源目录viCentOS-Base.repo#在[base]、[updates]、[extras]组下面添加priority=1,在[centosplus]、[contrib]组下面添加prior 阅读全文
摘要:
摘自《算法设计与分析基础》一书1、欧几里德算法 2、埃拉托色尼筛 3、合并排序4、快速排序 5、折半查找 6、大整数乘法7、Strassen矩阵乘法8、最近对(分治)9、凸包(分治)10、插入排序 11、希尔排序 12、DFS 13、BFS 14、拓扑排序15、生成队列 16、生成子集 17、假币问题18、俄国农夫法 19、约瑟夫斯问题 20、计算中值21、插值查找 22、二叉树查找 23、拈游戏24、预排序 25、高斯消去法 26、平衡二叉树(AVL、2-3)27、堆排序 28、霍纳法则 29、二进制幂30、问题化简 31、线性规划 3... 阅读全文
摘要:
5月6号跟同学去霸笔,百度不愧是百度,没点选择填空,全都是数据结构和算法的题目。虽然只有几道题,但是没有接触过海量数据以及高效率处理的算法,一时半会也想不出来,于是无情地被鄙视了。1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。2、系统中维护了若干数据项,我们对数据项的分类可以分为三级,首先我们按照一级分类方法将数据项分为A、B、C......若干类别,每个一级分类方 阅读全文
摘要:
1、类与结构体的区别:struct声明的类默认是public,而class声明的是private的,并且成员可以为函数。2、成员函数也可以称为方法。::叫做作用域区分符3、Inline定义内联函数,直接拷贝代码,省去函数调用造成的系统开销4、类中定义的成员函数默认为内联函数,因此可以将函数定义写在头文件中,但一般不这么做5、类定义和成员函数定义分开是目前开发程序的通常做法。类定义可以看成类的外部接口,类的成员函数定义看成是类的内部实现。6、类名加在成员函数名之前而不是加在成员函数的返回类型前。7、一个类中所有的对象调用的成员函数都是同一个代码段,所有对数据成员的访问都被隐含地加上了前缀this 阅读全文
摘要:
如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。你可以委婉地问你的MM:“假如你要向你喜欢的人表白的话,我的名字是你的告白语中的子串吗?”解决这类问题,通常我们的方法是枚举从A串的什么位置起开始与B匹配,然后验证是否匹配。假如A串长度为n,B串长 阅读全文
摘要:
一、用户管理配置文件1、配置文件用户信息文件:/etc/passwd密码文件:/etc/shadow用户组文件:/etc/group用户组密码文件:/etc/gshadow用户配置文件:/etc/login.defs/etc/default/useradd新用户信息文件:/etc/skel登陆信息:/etc/motd /etc/issue2、/etc/passwd格式用户名 密码 UID GID 描述信息 宿主目录 shell3、用户类型超级用户 root UID=0普通用户 UID 500 – 2^32-1伪用户 UID 1-499伪用户不是真实的用户,没有宿主目录,不需要登录,与系统和程序 阅读全文
摘要:
一、 RPM包管理RPM全称是RedHat Package Manager,是RedHat 公司推出的一种软件包管理机制,在RedHat、CentOS等操作系统中广泛使用,缺点是文件依赖关系解决比较麻烦。如sudo-1.7.2p1-5.el5.i386.rpm其中软件名为sudo,版本号为1.7.2pl,发行号5.el5,硬件平台为i3861、 软件包卸载rpm –e sudo如果与其它软件包有依赖关系,卸载时会提示,可以使用—nodeps参数强行卸载2、 软件包安装rpm –ivh sudo-1.7.2pl-5.el5.i386.rpm其中-i 表示install,-v 表示 指令执行过程, 阅读全文
摘要:
一、 Linux引导流程1、系统引导流程固件firmware (CMOS/BIOS) -> POST加电自检↓自举程序 BootLoader (GRUB) ->载入内核↓载入内核 ->驱动硬件↓启动进程init↓读取执行配置文件 /etc/inittab2、常用固件设置①安全设置②可引导介质列表③可引导介质搜索顺序④电源管理⑤启动细节显示3、固件设置实例hwclock 显示与设定硬件时钟(hardware clock)4、主引导记录Bootloader | partition table | Magic number446bytes | 64bytes | 2bytes = 阅读全文
摘要:
一、vi的工作模式 命令模式(ESC键) 插入模式(i、a、o键) 编辑模式(:键)二、插入命令 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行三、定位命令 h方向左键,同← j 方向下键,同↓ k 方向上键,同↑ l 方向右键,同→ $ 移至行尾 0(零) 移至行首 H 移至屏幕上端 M 移至屏幕中央 L 移至屏幕下端刚开始还莫名其妙,命名键盘已经有上下左右了,为什么还要hjkl键,后来才觉得,这样做方便命令的编写四、删除命令 x 删除光标所在处字符 nx 删除光标... 阅读全文
摘要:
一、 文件命名规则1、 除了/之外,所有的字符都合法/字符会影响到linux对文件路径的判断….因此不合法2、 有些字符最好不用,如空格符、制表符、退格符和字符@#$&()-等这些字符同样会影响命令的使用,如文件名叫tom love,在使用命令时会把它当做两个不同的参数3、 避免使用.作为不同文件名的第一个字符以.开头的文件在linux中表示隐藏文件4、 大小写敏感二、 命令格式格式:命令 –选项 参数如ls –la /etc说明:①当有多个选项时可以写在一起,如-l –a 写成-la②两个特殊的目录. 和..,分别表示当前目录和当前目录的父目录三、预备知识1、命令存放路径和执行权限只 阅读全文
摘要:
7.22③ 试基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i≠j)。 注意:算法中涉及的图的基本操作必须在此存储结构上实现。实现下列函数:Status DfsReachable(ALGraph g, int i, int j);/* Judge if it exists a path from vertex ‘i’ to *//* vertex ‘j’ in digraph ‘g’. *//* Array ‘visited[]‘ has been initialed to ‘false’.*/图的邻接表以及相关类型和辅助变量定义如下:St 阅读全文
摘要:
10.23② 试以L.r[k+1]作为监视哨改写教材10.2.1节中给出的直接插入排序算法。其中,L.r[1..k]为待排序记录且k<maxsize。实现下列函数:void InsertSort(SqList &L);顺序表的类型SqList定义如下:typedef struct {KeyType key;…} RedType;typedef struct {RedType r[MAXSIZE+1]; // r[0]闲置或用作哨兵单元int length;} SqList;//-_-!!题目关于LT这个函数什么也没说 voidInsertSort(SqList&L){ i 阅读全文
摘要:
6.33③ 假定用两个一维数组L[1..n]和R[1..n]作为有n个结点的二叉树的存储结构, L[i]和R[i]分别指示结点i的左孩子和右孩子,0表示空。试写一个算法判别结点u是否为结点v的子孙。要求实现以下函数:Status Dencendant(Array1D L,Array1D R,int n,int u,int v);/* If node ‘u’ is the dencendant of node ‘v’, *//* then return ‘TRUE’ else return ‘FALSE’. *//* L[i] is the left child of the i_th node 阅读全文
摘要:
5.18⑤ 试设计一个算法,将数组A中的元素A[0..n-1]循环右移k位,并要求只用一个元素大小的附加存储,元素移动或交换次数为O(n)。要求实现以下函数:void Rotate(Array1D &a, int n, int k);一维数组类型Array1D的定义:typedef ElemType Array1D[MAXLEN];void Rotate(Array1D &a, int n, int k) /* a[n] contains the elements, */ /* rotate them right circlely by k sits */ { ... 阅读全文
摘要:
4.10③编写对串求逆的递推算法。要求实现以下函数:voidReverse(StringType&s);/*Reversesbyiteration.*/StringType是串的一个抽象数据类型,它包含以下6种基本操作:voidInitStr(StringType&s);//初始化s为空串。voidStrAssign(StringType&t,StringTypes);//将s的值赋给t。s的实际参数是串变量。intStrCompare(StringTypes,StringTypet);//比较s和t。若s>t,返回值>0;若s=t,返回值=0;若s< 阅读全文
摘要:
◆3.17③ 试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如’序列1&序列2′模式的字符序列。其中序列1和序列2中都不含字符’&',且序列2是序列1的逆序列。例如,’a+b&b+a’是属该模式的字符序列,而’1+3&3-1′则不是。实现下列函数:Status match(char *str);/* 若str是属该模式的字符序列,*//* 则返回TRUE,否则返回FALSE */Stack是一个已实现的栈。可使用的相关类型和函数:typedef char SElemType; // 栈Stack的元素类型Status InitStack( 阅读全文
摘要:
◆2.11② 设顺序表L中的数据元素递增有序。试写一算法,将x插入到L的适当位置上,并保持该表的有序性。要求实现下列函数:void InsertOrderList(SqList &L, ElemType x)/* 在有序的顺序表 L 中保序插入数据元素 x */顺序表类型定义如下:typedef struct {ElemType *elem;int length;int listsize;} SqList;void InsertOrderList(SqList &L, ElemType x) // 在有序的顺序表 L 中保序插入数据元素 x { ElemType *p,*q; 阅读全文
摘要:
Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 7821 Accepted: 2919DescriptionA calendar is a system for measuring time, from hours and minutes, to months and days, and finally to years and centuries. The terms of hour, day, month, year and century are all units of time measurements of a . 阅读全文
摘要:
注意:此处代码可能并非最优化结果,等待代码优化中。。。。◆1.16② 试写一算法,如果三个整数X,Y和Z的值不是依次非递增的,则通过交换,令其为非递增。要求实现下列函数:void Descend(int &x, int &y, int &z);/* 按从大到小顺序返回x,y和z的值 */void Descend(int &x, int &y, int &z)/* 按从大到小顺序返回x,y和z的值 */{ int temp; if(x<y){temp=x;x=y;y=temp;} if(x<z){temp=x;x=z;z=temp;} 阅读全文
摘要:
1936:All in All查看提交统计提问时间限制:1000ms内存限制:65536kB描述You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent issues we will not discuss in detail how the strings are generated and inserte 阅读全文
摘要:
2975:Caesar 密码查看提交统计提问时间限制:1000ms内存限制:65536kB描述Julius Caesar 生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z原文字母:V W 阅读全文
摘要:
2743:字符串判等查看提交统计提问时间限制:1000ms内存限制:65536kB描述判断两个由大小写字母和空格组成的字符串在忽略大小写和压缩掉空格后是否相等输入第1行是测试数据的组数n,每组测试数据占2行,第1行是第一个字符串s1,第2行是第二个字符串s2。每组测试数据之间有一个空行,每行数据不超过100个字符(注意字符串的长度可能为0)输出n行,相等则输出YES,否则输出NO样例输入3a A bb BB ccc CCCAa BBbb CCCccca dfadf fasdfadasddfsfsaf样例输出YESYESNO#include<stdio.h> #include< 阅读全文
摘要:
2742:统计字符数查看提交统计提问时间限制:1000ms内存限制:65536kB描述判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多输入第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串每组测试数据之间有一个空行,每行数据不超过1000个字符且非空输出n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符样例输入2abbcccadfadffasdf样例输出c 3f 4//grids2742_AC #include<stdio. 阅读全文