- 博客(118)
- 资源 (2)
- 收藏
- 关注
原创 java学习之二-数组
数组一、java中数组定义格式1、int [ ] x = new int [5];//也可以int x[ ] = new int [5];如没有指定值,默认值为0。2、int[ ] arr = new int[ ]{3,1,6,78};//也可以int[ ] arr = {3,1,6,78};二、数组中的操作1、获取数组的长度int[ ] a
2017-07-09 10:26:13
512
原创 java学习之一java基本知识
java基本知识一、java中的名称规范java中的标识符由大小写字母,数字以及_$组成,其中标识符不能以数字开头。此外,java中是严格区分大小写。1、包名:多单词组成时,所有字母都小写。如:xxxyyyzzz2、类名接口名:多单词组成时,所有单词的首字母大写。如:XxxYyyZzz3、变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。如:
2017-06-20 22:35:51
470
原创 linux命令-cat
cat命令主要功能cat主要有三大功能: 1、一次显示整个文件: cat filename2、从键盘创建一个文件: cat > filename 此时只能创建新文件并编辑,但是不能编辑已有文件;如果cat > 已有文件,则该文件被覆盖。在ubuntu系统中,cat > file后,就可以对file文件编辑了,编辑完直接CTRL + C返回命令行模式
2016-09-15 00:29:48
775
原创 vim编辑器的使用
vim编辑器的使用1、打开文件tanvim tan在某个文件目录下,执行vim tan,若该目录下存在tan文件,则表示打开该文件;若不存在,则表示新建一个tan文件。2、编辑vim tan通过该命令打开tan文件后,按上按键I,此时进入VIM编辑界面,然后在该界面编辑相应的内容。等编辑完成后,CTRL + C退出编辑状态。3、
2016-09-14 22:45:30
559
原创 如何从零开始写shell脚本
如何从零开始写shell脚本 一、前言 为什么我们需要使用shell 脚本?难道我们之前学习的c/c++不能够完成shell脚本语言的功能吗,为什么我们还需要学习shell脚本?学习shell脚本最大的好处是能够轻易处理文件与目录之类的对象,如果同样此类任务,利用c++或者c,则编写程序很麻烦。尽管shell脚本语言的效率通常不如编译型语言,但是一般来说,够用了。二、编写一
2016-09-13 22:30:09
3297
1
原创 ubuntu中root和普通用户切换
ubuntu中root和普通用户切换ubuntu登录后,默认是普通用户权限,那么普通用户权限和root权限如何切换呢,下面总结下它们之间如何切换。普通用户切换到root用户登录ubuntu后,按上组合键CTRL+ALT+T进入终端界面,一般终端界面默认为普通用户权限模式,如何从普通用户进入root用户,有如下方法:1、按上su,然后按照提示输入相应的root
2016-08-07 17:59:59
68839
3
原创 线程间的同步
线程间的同步之前讲到通过互斥对象进行线程间的同步,下面介绍其他的几种方式来保持线程之间的同步。一、事件对象事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。有两种不同类型的事件对象。一种是人工重置的事件,另一种是自动重置的事件。当人工重
2015-12-08 21:34:48
492
原创 基于面向连接和无连接的socket编程
基于面向连接的socket编程基于面向连接的socket编程就是基于TCP的socket编程。基于TCP的socket编程的服务器器端程序和客户端程序的流程如下:服务器端程序1、创建套接字(socket);2、将套接字绑定到一个本地地址和端口上(bind);3、将套接字设为监听模式,准备接受客户请求(listen);4、等待客户请求到来;当请求到来后,接受连接请
2015-12-01 17:17:29
5448
原创 网络编程之初探
网络编程之初探网络编程,顾名思义,什么是网络呢?计算机网络是相互连接的独立自主的计算机的集合。下面介绍下网络的基本知识: ISO/OSI七层参考模型从上到下依次为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。物理层:提供二进制传输,确定在通信信道上如何传输比特流。数据链路层:提供介质访问,加强物理层的传输功能,建立一条无差错的传输线
2015-10-30 21:15:33
494
原创 基于互斥对象的线程间同步
线程间的同步不同的线程对同一资源进行访问时候,会出现一些意想不到的错误,此时我们需要线程间的同步。线程间的同步就是保证一个线程在访问一种资源的时候,其他的线程在这个时间段之内不能够对这个资源进行访问。保证线程间同步的一种方法是通过互斥对象。创建互斥对象的函数为CreateMutex,CreateMutex的函数原型如下:HANDLE CreateMutex(LPSECU
2015-10-29 11:19:26
637
原创 基于windows的多线程编程初步介绍
基于windows的多线程编程基于windows下的多线程编程,首先我们需要了解创建线程的函数CreateThread,CreateThread将在主线程的基础上创建一个新线程。函数原型:HANDLE CreateThread(LPSECURITY_ATTRIBUTElpThreadAttributes,SIZE_T dwStackSize,LPTHREAD_START_R
2015-10-29 09:56:50
1321
原创 不使用库函数将整数转化为字符串
不使用库函数将整数转化为字符串实现代码如下:void int2str(int n,char *str){ char temp[10]=""; int tem = n < 0 ? -n:n;// int i = 0; int j = 0; while(tem) { temp[i++] = (tem % 10) + '0'; tem = tem/10;
2015-10-15 21:19:48
595
原创 cin、cin.get()、cin.getline()、getline()
cin、cin.get()、cin.getline()、getline()下面介绍下c++中的这些函数的区别与联系一、cina、输入数void main(){ int a,b; cin>>a>>b; cout<<a + b<<endl;}输入:4空格5回车 b、输入字符串void main(){ char a[18]; cin>>a;
2015-10-13 21:49:09
533
原创 const的一些常用用法
const的一些常用用法c++类中相关const的恩怨情仇:一、类中成员函数后面加上constvoid function() const{}//类中的成员函数或者在类中先声明,然后在类外定义,如下所示:void function() const;void A:: function() const{}对上述相关函数做如下三点说明:首先,此函数不能对类
2015-10-12 16:31:33
539
原创 判断字符串是否是回文的代码实现
判断字符串是否是回文的代码实现回文字符串的含义-简单的来说,是字符串以中心对称的字符是相同的。基于递归方法的实现int isstringPald(int low,int high,const char* str,int len){ if(len == 0 || len ==1) { cout<<"该字符串是回文字符串"<<endl; return
2015-10-11 22:03:46
1695
原创 c中文件的读取操作
c中文件的读取操作“文件(file)”:所谓“文件”是指一组相关数据的有序集合。数据以文件的形式存放在外部介质(一般是磁盘、磁带、光盘等)上,操作系统中是以文件为单位对数据进行管理的,以文件名作为访问文件的标识。C语言把文件看作一个字节序列,即由一连串的字节组成。根据文件中的数据组织形式,数据文件可分为ASCII码文件和二进制文件。ASCII码文件,又称为“文本文件
2015-09-30 20:44:18
7919
原创 二维动态数组的删除和创建
二维动态数组的删除和创建c++版本:动态创建以及删除一个二维数组float temp[n][m]int main(void){ int n = 10; int m = 5; float **temp = new float*[n]; for(int i = 0; i < n;i++) { temp[i] = new float[m]; } for(int i
2015-09-24 13:54:20
4836
原创 图的定义
图的定义以及相应的术语图的定义:是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图中顶点的集合,E是图中边的集合。注意:线性表中我们把数据元素叫做元素,树中我们把数据元素称之为结点,图中我们相应的把数据元素称之为顶点。图结构中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示。无向图和有向图:
2015-09-20 19:52:06
911
原创 排序算法之希尔排序
希尔排序希尔排序又称为缩小增量排序,是一种插入排序,是直接插入排序的升级版。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因
2015-09-19 21:16:51
500
原创 二叉树的存储结构
二叉树的存储结构二叉树的存储结构也包含顺序存储结构和链式存储结构。二叉树的顺序存储结构就是用一维数组存储二叉树中的各个结点,并且结点的存储位置能体现结点之间的逻辑关系。具体存储方法就是在一维数组中存储二叉树中的各个结点,每个结点对应的数组下标为二叉树中按层序遍历的编号,此外数组中下标为0存放结点的个数。对于按照层序遍历过程中不存在的结点,在其对应的数组中存放-1等特殊标志表示这个结
2015-09-16 09:11:09
650
原创 二叉树(一)
二叉树小述二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根节点和两颗互不相交的,分别称为左子树和右子树的二叉树组成。特点:1、
2015-09-16 08:36:13
552
原创 标准c中的字符串处理函数
strcat函数原型: char * stcat(char* str1,const char* str2)函数功能:把字符串str2的头部连接到str1的尾部,然后返回新的字符串的头部指针strcat函数的实现代码如下:char* my_strcat(char *str1,const char *str2){ assert(str1 != NULL && str2 !=
2015-09-13 20:30:11
656
原创 写一个标准的c程序需要包含的头文件
写一个标准的c程序需要包含的头文件这里说的写一个标准的c程序,真的就是一个标准的c程序,不能包含一点c++编程的习惯,这样为了以后编程的规范。之前一直不注意这个问题,今天做华为的机试的时候,就吃到了苦头。一、包含#include stdio -"standard input & output" (标准输入输出),源代码中如用到标准输入输出函数时,就要包含这个头文
2015-09-12 22:06:24
5221
原创 求一段字符串中连续出现次数最多的单个字符和分解字符串
求一段字符串中连续出现次数最多的单个字符int main(){ char num[MAX] ; printf("请输入一个字符串\n"); scanf("%s",num); char temp ;//记录当前出现最多次数的连续字符 int length = 0; int curlen;//记录当前字符出现的连续次数 int begin = 0;//开始的位置 in
2015-09-11 21:02:26
1298
原创 面试题之求两个字符串的最大公共子串
面试题之求两个字符串的最大公共子串字符串的题目感觉真的好难,关于字符串的题目,需要弄懂题意的思路,思路对了,编程就ok了(好像是废话哦)。下面分析下求两个字符串的最大公共子串的解题思路。首先我们确定一个基准串和查找串,基准串就是两个字符串中长度长的字符串,查找串就是那个短的串。我们从查找串的头部开始,在基准串的尾部开始查找,若查到了,就给数组sign[j]赋值,j是基准串的下标,表示基
2015-09-10 16:14:15
6000
1
原创 面试题初级-求字符串最后一个单词的长度和判断ip地址的合法性
求字符串最后一个单词的长度int clacuate(const char* str)//求字符串最后一个单词的长度{ int num = 0; while(*str!='\0') { str++; } while(*str!=' ') { str--; num++; } num = num -1; return num;}判断ip地址是否合法
2015-09-09 11:21:26
655
原创 数组的引用和指针的引用
数组的引用和指针的引用数组的引用通过引用传递数组,和其他类型一样,数组形参可声明为数组的引用。如果形参是数组的引用,编译器不会将数组实参转化为指针,而是传递数组的引用本身。在这种情况下,数组大小成为形参与实参类型的一部分,编译器检查数组实参的大小与形参的大小是否匹配。注意:数组引用中,数组大小成为形参与实参类型的一部分,则形参和实参中的数组大小要一致。否则编译通不过。v
2015-09-09 09:00:08
2149
原创 用数组作为函数的参数
数组作为函数的参数数组名作为函数的形参如果函数的实参是数组名,则形参肯定也为数组名或者指针变量。且实参数组和形参数组类型必须一致。函数实参是数组名,即是把数组首元素的地址传递给形参。数组名作函数实参时,改变形参数组元素的值将同时改变实参数组元素的值。实际上,声明形参数组并不意味着真正建立一个包含若干元素的数组,在调用函数时也不对它分配存储单元,只是用array[]这样的
2015-09-08 22:41:39
6831
原创 2015腾讯笔试题-基于递归的格雷码生成
基于递归的格雷码生成生成1位的格雷码为:01生成2位的格雷码为:00011110生成三位的格雷码为:000001010011111110101100从中我们可以看出规律,生成n位的格雷码是在n-1位格雷码的基础上添加0和1。n-1位的格雷码前一半是按照0101依次添加,后一半是按照1010依次添加,因为我们观察可知,格雷码
2015-09-08 16:20:53
948
原创 c++之模板
c++之模板引入模板的作用:避免代码的重复,编写脱离数据类型的通用模板。模板是对类型进行参数化的工具,是c++中支持参数化多态的工具。模板的分类:函数模板、类模板下面依次介绍函数模板和类模板。函数模板:template or template //模板声明格式返回值类型 函数名(模板形参表) { 函数体}函数调用:函数名(模板
2015-09-07 21:49:58
459
原创 面试之简答题
带参数的宏与内联函数之间的区别答:宏定义是C语言提供的三种预编译处理功能的一种。三种分别是文件包含、宏定义、条件编译。格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也成为宏名。宏是在预编译期间简单替换(是在预处理完成的),将宏名替换为字符串,也叫作宏展开。说白了,宏就是简单的字符串替换。重要的一点是,对于带参数的宏,不作任何类型和语法的检查。内联函数:
2015-09-07 21:46:59
426
原创 树的存储结构
树的存储结构树的结构很强大,操作系统的文件管理、操作系统的目录管理、网络系统中的域名管理、数据库系统中的索引都利用了树的结构。树的存储结构有以下三种常见的表示法:1、双亲表示法 2、孩子表示法 3、孩子兄弟表示法 双亲表示法-以双亲作为索引关键词的一种存储方式。双亲表示法的存储结构如下;#define MAX_TREE_SIZE 100typedef int E
2015-09-06 17:12:33
571
原创 树的基本知识前传
树的基本知识之前我们讲述的线性表、栈和队列都是一对一的结构,但是实际中的实例往往没有那么简单,比如存在很多一对多,多对多的结构。我们现在讲的树就是一种一对多的结构。后面我们要讲的图是一种多对多的结构。树是n(n>=0)个结点组成的有限集合T。当n=0时称为空树,在任意一颗非空树中,有且只有一个根节点。另外,当数的结点大于1时,子树的个数是没有限制的,但它们互相是一定不会相交的。
2015-09-06 15:36:12
456
原创 静态分配和动态分配
静态分配和动态分配在讲述这个之前我们分享一段程序,从这个程序中我们来思考下为什么,类似的程序最后的输出结果不一样:char* stackMalloc(){ char str[] = "yelllo"; return str;}char* heapMalloc(){ char *str = "helllo";// return str;}int main(){ ch
2015-09-05 20:03:04
7070
原创 字符串和字符数组的区别以及sizeof和strlen的区别
字符串和字符数组的区别字符数组顾名思义就是存放字符类型的数组呗, char str[5] ; printf("元素%d\n",sizeof(str));//5 printf("元素%d\n", strlen(str));//19 for(int i = 0; i < 5;i++) { str[i] = 'A'+i; } for(int i = 0; i < 5;i
2015-09-05 09:50:16
4259
原创 编写一个函数,它的返回值是主串中第一个字符子串的位置以后的所有字符
它的代码如下:#include#includeusing namespace std;const char* strnew(const char*string , const char* substr){ int allLen = strlen(string);//字符串的长度 int subLen = strlen(substr);//子串的长度 int index = 0;
2015-09-04 16:31:52
1511
原创 求一段字符串中出现的相同且长度最长的字符串
求一段字符串中出现的相同且长度最长的字符串int main(){ string str,substr; string str1; int t3; int t1 = 0; int t2 = 0; cout<<"请输入字符串"<<endl; int maxnum = 0; int count = 0; cin>>str; int len = str
2015-09-04 10:39:03
1771
原创 求一个字符串中连续出现次数最多的子串
求一个字符串连续出现次数最多的子串//求一个字符串中连续出现次数最多的字符串pair calcuate(const string& str){ int len = str.length(); vectorsubstrs; int count = 1; int max = 1;//记录最大出现的次数 string str1; int i , j; for( i = 0;
2015-09-03 17:27:30
560
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人