A__B__C__的博客

私信 关注
A__B__C__
码龄3年
  • 56,403
    被访问量
  • 113
    原创文章
  • 63,114
    作者排名
  • 37
    粉丝数量
  • 于 2018-03-14 加入CSDN
获得成就
  • 获得43次点赞
  • 内容获得11次评论
  • 获得140次收藏
荣誉勋章
兴趣领域
  • #后端
    #Java
TA的专栏
  • C语言_学习篇
    45篇
  • Java_学习篇
    16篇
  • 数据结构_学习篇
    7篇
  • java_编程题题解
    22篇
  • JavaWeb学习笔记篇
    11篇
  • java知识总结
    17篇
  • JavaWeb
    11篇
  • 设计模式
    1篇
  • c语言
    45篇
  • markdown语法
    1篇
  • C语言_数据结构
    11篇
  • Linux
    3篇
  • Java基础
    5篇
  • 小项目
    5篇
  • 刷题
    21篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

常见的6种排序图解 - java语言描述

目录1、冒泡排序2、直接插入排序3. 希尔排序4、归并排序5. 快速排序6. 选择排序首先,在说几个排序算法之前,先自己写一个简单的工具类,判断一个数列是否有序(以升序为例),如果不是升序的数列,在出现乱序的地方把附近的两个元素输出一下: /** * 判断一组数据是不是升序 * @param array 传入一个需要判断是否有序的数列 ...
原创
224阅读
0评论
1点赞
发布博客于 2 年前

Java项目 Everything

everything1、项目描述基于Java语言,模仿Linux下的find命令,实现windows下命令行的查找文件的功能,由于是Java语言开发,所以也具有跨平台性2、项目背景在Linux下的find命令很好用,但是在windows下查找文件却不是那么方便,在windows界面查找速度非常慢而且还不能跨盘查找,因此开发这款命令行的查找工具,可以在windows下快速全盘查找。...
原创
247阅读
0评论
2点赞
发布博客于 2 年前

Java juc包下的常用工具类

1、java.util.concurrent.CountDownLatch;CountDownLatch 又叫闭锁,可以让一个线程等待其他一组线程都执行结束之后再继续执行,如果在主方法中使用,就会将主线程阻塞,等待指定个数的线程都执行结束之后,主线程在恢复执行。举个例子:就相当于在比赛的时候,一个裁判,要等待所有运动员都到了终点之后,裁判才会结束比赛CountDownLatch中有几...
原创
540阅读
0评论
1点赞
发布博客于 2 年前

模板设计模式 - java语言描述

下面,我将用泡茶 和 泡咖啡的例子来描述模板设计模式的思想:先来看看泡茶手册:烧开水 把茶叶放入被子中 把开水倒入杯子中 喝茶泡咖啡手册:烧开水 把咖啡倒进杯子中 把开水倒进杯子中 喝咖啡首先,如果不考虑什么设计模式,现在让我们来实现这两个过程,我们可以用一下代码实现:运行结果:运行结果:但是这样写感觉有问题,这样的话有许多代码似乎是重复的,...
原创
117阅读
0评论
1点赞
发布博客于 2 年前

java中的陷阱总结

1、java方法中的参数传递在java中,只有值传递,没有引用传递。值传递:当传的是基本数据类型的时候,只是将实参的值拷贝了一份传递给方法;当传的是引用类型时,是将引用类型的地址传递过去。正如下面这两个例子:对上面的程序进行分析:首先,在java中,java虚拟机会为每一个方法创建一个栈帧(栈帧简单来说其实就是支持虚拟机进行方法执行和方法调用的一种数据结构,里面存放了局部变量表,...
原创
109阅读
0评论
0点赞
发布博客于 2 年前

【编程题】简单错误记录 Java实现

题目描述:开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并) 2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并) 3.输...
原创
192阅读
0评论
0点赞
发布博客于 2 年前

JavaEE学习篇—SpringMVC

在说什么是SpringMVC之前,先来看看什么是MVC;一、MCV三层模型MVC 是一种应用程序的分层开发模型,其中的M表示的是Model, V 表示的是View, C表示的是ControllerM(Model) : 模型 ,代表一个存取数据的一个对象,常用POJO(普通java类)、Javabean表示。Model有对数据的直接访问权限,例如对数据库的访问。Model...
原创
126阅读
0评论
0点赞
发布博客于 2 年前

javaEE学习篇—从代理模式到SpringAOP

SpringAOP 就是Spring实现了AOP这种设计模式,AOP的全称为:Aspect Oriented Programming,意为:面向切面编程。为什么会有面向切面编程呢。在java中,java语言是面向对象编程(OOP),但是在面向对象编程中,有时候会有一些问题,比如:当我们要给一些不具有继承关系的对象引入一些公共行为,比如安全日志检查,只能在每个对象中引入公共对象,这样做非常不便于维护...
原创
103阅读
0评论
1点赞
发布博客于 2 年前

Spring_IOC/DI

1、问题引入在说Spring之前,首先来回顾一下我们之前学习的javaSE部分的知识,假如我们现在有一个需求:现在有两个类(A类和B类),我们需要在第二个类(B)中调用第一个类(A)的某些方法,用我们以前学过的知识,肯定是在第二个类中实例化一个A类的对象,然后用对象调用对应的方法,具体操作如下:但是这么做并不是一个好的方法,因为这样做我们可以理解为是A类 ‘污染’ 了B类,或者说是A类...
原创
346阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—Servlet-Session数据处理

一、Session简介:Session 和 Cookie一样,同样是在客户端和服务器之间进行会话时用来传输数据的一种方式,不过Cookie数据是保存在客户端的,而Session数据是存储在服务器端的,然后服务器会给客户端返回一个对应Session的ID存储在客户端的cookie中,当浏览器需要对应的数据时,就可以通过存储在客户端的Sessionid去服务器获取对应的数据。这样,也就可以解决用...
原创
184阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—基于案例的Servlet-Cookie数据处理

目录一、Cookie简介:1.1 简介1.2 cookie的特点:二、Cookie中的常用方法: Cookie中的常用方法三、使用案例:案例1:cookie的基本使用:​案例2:记录上次登录时间案例3:记录访问商品足迹一、Cookie简介:1.1 简介Cookie一般存在与http协议头中,它是一个客户端的数据文件,用来保存一...
原创
133阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—Servlet的生命周期

目录1、Tomcat简介2、Servlet的生命周期简介3、用代码模拟声明周期的全过程4、ServletConfig对象 案例:读取文件内容:5、ServletContext对象 ServletContext对象用于获取上下文路径(所谓的上下文路径,其实就是项目名称) 案例:获取上下文路径1、Tomcat简介因...
原创
261阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—Servlet基本配置及http协议

目录一、什么是Servlet二、使用IDEA创建一个servlet程序全过程图解:关于映射路径:三、servlet的执行流程:3.1 引入概念 容器什么是容器:容器可以用来干嘛:3.2 Servlet的执行流程:四、http协议:4.1 常见的请求头:4.2常见的响应头:4.3 通过servlet获取http请求信息:4.3.1 获取请求行的信...
原创
310阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—XML的SXA解析

在上一篇博客中说到了xml的DOM解析,虽然DOM解析比较好理解,但是如果xml文件的结构层次太深,在使用DOM解析就不太方便了。一、SAX解析简介:1、SAX解析是基于事件编程简单来说就是当遇到某一个事件的时候就会触发一个对应的方法,满足事件编程3要素:事件编程三要素:事件源 这里的事件源值得就是写的xml文件 事件监听器 当遇到文档开始,触发方法startDoc...
原创
106阅读
0评论
0点赞
发布博客于 2 年前

Java学习篇之反射

一、认识反射1.1 反射的概念1.2 Class对象的三种实例化方式二、反射与类操作2.1 取得父类与父接口信息2.2 调用类中的构造方法2.3 调用普通方法2.4 调用类中的属性三、Java类加载器3.1 Java类加载器定义3.2 JDK中内置的3大类加载器3.3 双亲委派模型1、双亲委派模型的定义2、执行流程3、意义:4、如果我们自...
原创
100阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—XML的DOM解析

在上一篇博客:XML基础中说到,XML可以用作一个小型的数据库,那么这个“数据库”到底该怎么用呢???这就需要用到XML解析。这篇博客中,主要通过以下一个案例,来分析XML的DOM解析:一、案例:xml实现的一个简单通讯录编写一个XML文件(contact.xml),内容如下:这时候,要想实现一个通讯录系统,首先要将xml文件中的内容提取出来,然后封装成一个联系人对象。二...
原创
375阅读
0评论
0点赞
发布博客于 2 年前

JavaWeb学习篇—XML基础

目录一、XML简介:二、HTML 和 XML的对比三、XML的语法规则:3.1 标签3.2 属性:3.3 注释:3.4 文档声明及XML的解码过程:3.5 转移字符3.6 CDATA块 --- 批量转译四、XML的树形结构:五、XML的作用5.1 可以作为配置文件去使用5.2 作为小型数据库使用5.3 XML可以把数据从HTML中分离出来...
原创
101阅读
0评论
0点赞
发布博客于 2 年前

HTML学习篇01

目录一、HTML简介:二、HTML的编辑器三、HTML基础语法及基本标签3.1 标题标签 : ……(文本内容) n表示数字1-63.2 段落标签3.3 文本其他常见标签3.4 块标签和行内标签3.5 列表标签3.6 超链接标签 ...3.7 图片标签:一、HTML简介:HTML是用来写网页的一种语言。浏览器通过读取HTML文档,然后将文...
原创
110阅读
0评论
0点赞
发布博客于 2 年前

Java学习篇之容器篇(进阶&源码分析)

一、概括:在java中,由于数组长度固定,在实际开发中用到的并不多;为了解决数组长度固定的缺陷,在JDK1,2开始,java中提供了集合框架(容器)来解决这一问题。简单来说,java集合框架实际上就是一种数据结构,用来存放数量不固定的元素。java类集框架中提供了两个最为核心的接口,Collection 和 MapCollection :和单链表类似,每一次操作的都是单个元素Map ...
原创
300阅读
0评论
0点赞
发布博客于 2 年前

数据结构_搜索之哈希

1. 哈希的概念在进行顺序查找或者二叉搜索树查找时,元素存储的位置和元素各个关键码之间没有对应关系,所以在查找一个元素时必须通过关键码的比较才能判断该关键码所存放的位置,搜索的效率取决与在搜索过程中元素比较的次数。因此,这个时候就想有这么一种理想的查找算法,可以不经过任何比较,直接从存储元素的表中得到想要查找的数据。为此,我们构造一种结构,通过某种函数使元素的存储位置和存储的值...
原创
135阅读
0评论
0点赞
发布博客于 2 年前

编程题_删除公共字符—Java

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例1输入They are students. aeiou输出Thy r stdnts.解法一:暴力解...
原创
305阅读
0评论
0点赞
发布博客于 2 年前

Java学习篇之I/O篇

目录一,摘要:二、磁盘操作FileFile类的基本使用:三、字节流操作:InputStream 和 OutputStream1、字节输出流 OutputStream类结构:常用子类、方法:OutputStream的使用案例:向文件中写入内容2、字节输入流 :InputStream类结构:InputStream中常用方法:InputStream的使用案...
原创
226阅读
0评论
0点赞
发布博客于 2 年前

Java中枚举类的用法常见7种用法

对于枚举这个类,我之前一直以为它没什么用处,后来在做项目的过程中遇到枚举的时候才发现枚举这个东西居然这么强大...正如Java编程思想中有这么一句话:“有时正因为有它,你才能够‘优雅而干净’的解决问题”;1、枚举类的常规用法:public enum Color { RED, BLUE, BLACK; public static void main(String[]...
原创
2079阅读
0评论
2点赞
发布博客于 2 年前

统计回文

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “a...
原创
243阅读
0评论
0点赞
发布博客于 2 年前

求第k大的数(用快排思想 - java实现)

有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。测试样例:[1,3,5,2,2],5,3返回:2思路:利用快排的思想,取一个关键值,将其进行一趟快排之后,比它大的数都放到它左边,比他小的数都放到右边要求第k大的数,就是求数组下标为k-1的数值首先获取关键值的...
原创
1806阅读
0评论
1点赞
发布博客于 2 年前

地下迷宫 java实现

小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位 置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并 且保证一定有起点到终点可达的路径),小青蛙在迷宫中水平移动一个单位距离...
原创
398阅读
0评论
0点赞
发布博客于 2 年前

编程题_Magic Coupon_java实现

题目描述The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, meaning that when you use this coupon with a product, you may get N times the value of that pro...
原创
132阅读
0评论
0点赞
发布博客于 2 年前

编程题:在霍格沃茨找零钱_java实现

如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入描述:输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里G...
原创
307阅读
0评论
0点赞
发布博客于 2 年前

[编程题]神奇的口袋 - Java

有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入描述:输入的第一行是正整数n (1 <= n &...
原创
529阅读
1评论
0点赞
发布博客于 2 年前

编程题 _ 不要二(Java实现)

二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。 对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述 : 每组数组包含网格长宽...
原创
215阅读
0评论
1点赞
发布博客于 2 年前

[编程题]求最小公倍数——Java

正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。这里给出两种方法:第一种:简单粗暴的方法,按整数挨个遍历,直到遇到他们的最小公倍数为止: public static int gongBeiShu_1(int a, int b) { int max = a>b?a:b; for...
原创
849阅读
0评论
0点赞
发布博客于 2 年前

小易买苹果_Java

小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。输入描述: 输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述: 输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1输入例子: 20输...
原创
250阅读
0评论
0点赞
发布博客于 2 年前

[编程题]个位数统计 (15) _ Java实现

给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入描述: 每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出描述: 对N中每一种不同的个位数字,...
原创
345阅读
0评论
0点赞
发布博客于 2 年前

leetcode34. 在排序数组中查找元素的第一个和最后一个位置(Java)

给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,1...
原创
327阅读
0评论
0点赞
发布博客于 2 年前

leetcode两数之和 II - 输入有序数组

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], ta...
原创
156阅读
0评论
0点赞
发布博客于 2 年前

编程题:生成格雷码-解题思路-java实现

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:1返回:["0","1"]解题思路:任意两个相邻的代码只有一位二进制数不同,即:当 n == 1 的时候,格雷码为:["0", "1"]当 n == 2...
原创
309阅读
0评论
0点赞
发布博客于 2 年前

木棒拼图-java+解题思路+代码实现

有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。初始集合是空的,有两种操作,要么给集合添加一个长度为 L的木棒,要么删去集合中已经有的某个木棒。每次操作结束后你都需要告知是否能用集合中的这些木棒构成一个简单多形。输入描述:每组测试用例仅包含一组数据,每组数据第一行...
原创
352阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 8. 字符串转换整数 (atoi)(java实现)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽...
原创
409阅读
1评论
1点赞
发布博客于 2 年前

[编程题] 用两个栈实现队列_java实现

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:实现队列,也就是当出队列的时候,让先进去的数先出来。代码实现:import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); ...
原创
185阅读
0评论
0点赞
发布博客于 2 年前

Java中常见问题总结

下面是我最近遇到的一些还不清楚的问题,有的是做题过程中的错误,有的是一些java基础方面的问题,我把这些做了一个总结,避免以后在犯,也可以给和我一样Java入门的人参考,如果有总结的不对的地方,欢迎大家可以给我提出来~~~目录一、Java一些基础方面的问题1、面向对象和面向过程的区别:2、Java语言的特点:3、关于JVM,JDK,JRE4、Java和C++的区别:...
原创
475阅读
0评论
0点赞
发布博客于 2 年前

判断合法括号串

对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串测试样例:“( ( ) ( ) )”, 6 返回:true“()a()()”, 7 返回false“()(()()”, 7 返回falsepublic class Test { publi...
原创
500阅读
0评论
1点赞
发布博客于 2 年前

java - JVM知识总结

JVM ( Java Virtual Machine):Java虚拟机目录一、java内存区域与内存溢出异常1、运行时数据区域1.1 程序计数器(线程私有)1.2 java虚拟机栈(线程私有)1.3 本地方法栈(线程私有)1.4 Java堆(线程共享)1.5 方法区(线程共享)1.6 运行时常量池(线程共享)2、Java堆溢出二、垃圾回收与内存分配策...
原创
442阅读
0评论
1点赞
发布博客于 2 年前

Java小项目 - 聊天室

Java聊天室已经实现功能:群聊私聊匿名发送消息还没有实现的功能:只能实现匿名给别人发送消息,收到消息的人不能再给发回去使用的技术:Java多线程以及Java Socket编程整体思路:首先,要实现两个客户端之间的聊天,并不是一个客户端直接发送给另一个客户端,而是需要有一个服务器比如现在是客户端A和客户端B聊天,首先A会将信息发送给服务器,其中信息并不只是聊天的信...
原创
661阅读
0评论
1点赞
发布博客于 2 年前

Leetcode9. 回文数(java实现)

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例三:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。方法一...
原创
101阅读
0评论
0点赞
发布博客于 3 年前

java多线程之synchronized用法及底层实现详解

1、同步问题的产生什么是 同步,在java中为什么会产生同步问题呢???先来看一下下面这个例子:运行结果:从运行结果中可以看到,买票卖着卖着卖出负数张票了,但是在代码的循环条件中明明写着 i&amp;amp;amp;amp;amp;amp;amp;amp;gt;0,为什么会出现0张票的情况呢???原因是:最后还剩下一张票的时候,i&amp;amp;amp;amp;amp;amp;amp;amp;gt;0,满足循环条件,线程1,2,3同时进入了run方法,结果线程1先出
原创
270阅读
0评论
0点赞
发布博客于 3 年前

Java_多线程知识总结01

首先,先看一下进程与线程的概念:1、进程与线程1.1 进程与线程的概念   进程:操作系统中一个程序的执行周期就叫做进程。   线程:一个进程同时执行多个任务,一个任务就是一个线程。1.2 进程与线程的关系:与进程相比,线程更加“轻量级”,创建、撤销一个线程比启动、撤销一个进程的开销要小的多,一个进程中的所有线程共享此进程中的所有资源没有进程就没有线程,进程一旦终止,其内的...
原创
63阅读
0评论
0点赞
发布博客于 3 年前

Leetcode 142. 环形链表 II

说明:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。不允许修改给定的链表。思路:首先,判断他是不是一个带环链表,如果是再求入环的第一个节点,如果不是,返回null判断是不是环的方法:定义一个快指针,一次走两步;定义一个慢指针,一次走一步,如果是环,他们一定会相遇;如果不是环,最后一个节点的next = 空如果是环,求入环的第一个节点:在定义一个...
原创
118阅读
0评论
0点赞
发布博客于 3 年前

Java中三个特殊类String,Object,包装类

1、String类1.1 String 类全称:java.lang.String两种实例化方式:a、直接赋值:String str = “fei”;只有String类可以这样直接赋值,其他的类需要用new关键字b、通过构造方法实例化String对象(传统方法)String str = new String(“fei”);(String类是一个类)1.2字符串相等的比较方法: ...
原创
146阅读
0评论
1点赞
发布博客于 3 年前

Java面向对象三大类以及异常处理练习题

一.编程题:要求:Person类有name,age,salary属性,要求实现至少两个构造方法,并且属性私有,提供对应的getter、setter。覆写toString方法,要求在System.out.println()函数中传递Person对象能打印出三个属性值而不是对象地址。2.覆写toString方法,要求在System.out.println()函数中传递Person对象能打印出三...
原创
596阅读
0评论
0点赞
发布博客于 3 年前

java实现双向链表的基本操作

1、链表的基本介绍在java中,要想保存多个对象,那么首先可以想到的就是对象数组;如果要想保存多个任意对象,那么可以想到的一定是Object型的数组。Object[] data = new Object[3] ;但是在实际开发中,要面临的一个问题是:数组是一个定长的线性结构。一旦我们的内容不足或者内容过多,都有可能造成空间浪费。要想解决此类问题,最好的做法就是设计一个长度可变的链表,有多少数...
原创
400阅读
0评论
0点赞
发布博客于 3 年前

javaSE_面向对象编程之类与对象

一、面向对象编程:现在的编程主要有一下几种:1)面向对象编程例子:狗吃屎(主要突出的是狗和屎两个对象)每个对象 ----&amp;amp;gt; 是一个类属性及方法 —&amp;amp;gt; 能够进行现实生活的抽象名次扩展:OOA:面向对象分析OOD:面向对象设计OOP:面向对象编程2)面向过程编程例子:吃狗屎(主要突出 吃 这一过程)3)面向切面编程(EE-AOP)4)面向接口编程 - 接口优先...
原创
130阅读
0评论
0点赞
发布博客于 3 年前

Java接口练习题

1.说出下面程序的执行结果: interface InterfaceA {     String S = "good ";     void f(); } abstract class ClassA {     abstract void g(); } class ClassB extends ClassA implements InterfaceA {     v...
原创
3173阅读
0评论
5点赞
发布博客于 3 年前

Java中数组的定义与使用

数组 — 一种引用数据类型一、一维数组的定义与使用1.1 数组初始化1.1.1 数组动态初始化:数据类型[ ] 数组名称 = new 数据类型[数组长度];举个例子:数组通过下标索引来获取元素,即数组名[下标],下标默认从0开始,到长度减一结束数组下标越界会报错(数组越界异常----是一个运行时异常)数组中每个元素都有默认值,默认值是对应数据类型的默认值数组长度的计算方...
原创
204阅读
0评论
0点赞
发布博客于 3 年前

Java中方法的定义与使用

1、方法的定义:方法的定义语法(这里说的是直接在主方法中调用的方法):public static 返回值类型 方法名 (参数){//方法体//返回值}如果返回值类型为void,则没有返回值,但是可以有return,return表示当前函数停止。在Java中只有值传递,没有地址传递。2.方法的重载定义:方法名称相同,参数的类型或个数或顺序(如:参数类型不相同时)不同。...
原创
1024阅读
0评论
0点赞
发布博客于 3 年前

Java内部类练习题

1、定义一个Father类和Child类:Father类为外部类,Child类为内部类,内中定义一个私有属性
原创
2033阅读
0评论
0点赞
发布博客于 3 年前

java入门_初识java

1、数据类型2、驼峰命名法3、
原创
137阅读
0评论
1点赞
发布博客于 3 年前

Java类与对象练习题

1.创建一个Test类,包含有一个public权限的int型成员变量与一个char类型的成员变量,观察在main方法中的初始值。public class StrTest{ public int x; public char ch; public static void main (String[] args) { StrTest a = n...
原创
2597阅读
0评论
0点赞
发布博客于 3 年前

C语言_日历

编写一个日历程序,以2000年为基准,要求输入一个年月,输出对应月份的日历表执行结果:代码如下:#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;assert.h&amp;gt;int month_day_num[2][13] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30,...
原创
3802阅读
3评论
4点赞
发布博客于 3 年前

C语言实现经典小游戏贪吃蛇

纯c语言写的小游戏,本人才疏学浅,代码有很多不足,仅供给初学者参考。实现功能:↑ ↓ ← →分别用来控制上下左右四个方向空格暂停esc退出游戏f1加速, f2 减速蛇的长度越长,速度越快(速度有上限)食物颜色随机撞墙死/咬到自己死不足之处:实现了蛇撞墙和撞到自己两种死亡判断,但是没有实现游戏胜利。蛇移动的时间和食物出现的时间固定,没有实现游戏难度的选择。运行结果...
原创
1902阅读
1评论
4点赞
发布博客于 3 年前

数据结构_二叉搜索树

vim自行查找资料, 自行配置插件.自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).为什么调试的时候需要编译选项中添加 -g. 同学们自行调研readelf命令.在Linux下实现进度条程序. 通过makefile进行编译. 建议自主完成一...
原创
125阅读
0评论
0点赞
发布博客于 3 年前

Linux命令_2

1、权限操作要了解权限操作,首先要知道在Linux系统下,用户主要分为两类:一类是超级用户,一类是普通用户;超级用户(root):可以在Linux下干任何事普通用户:操作受限其次,要知道在Linux下如何查看文件(目录)的权限可以通过ls -l 查看一个目录下的所有文件的权限再来看一下这些都代表的什么意思……三种权限:了解了这些,我们就可以知道权限的大概含义了, 比如:一...
原创
217阅读
0评论
0点赞
发布博客于 3 年前

堆的应用

1、优先级队列(注:在这篇博客里会涉及到一些堆的基本操作,这些堆的基本操作请参考上一篇博客:堆的基本操作(https://blog.csdn.net/A__B__C__/article/details/82818091))优先级队列,名字叫队列,其实就是用堆来封装的一层而已,个人感觉和队列没有什么关系;代码如下:头文件(其中包含了队列的操作,堆排序和top K问题):#ifn...
原创
252阅读
0评论
0点赞
发布博客于 3 年前

C语言_堆的基本操作

本片博客主要包含一下几个内容:堆的基本操作1、创建堆2、调整堆(向下调整)3、插入4、移除堆顶元素5、返回堆元素个数6、判断是不是空堆7、返回堆顶元素8、向上调整堆9、交换两个数10、判断堆是否已满,如果满了,就增容;如果没有满,就返回11、销毁堆12、小于比较13、大于比较14、头文件代码15、测试代码 1、创建堆vo...
原创
380阅读
0评论
1点赞
发布博客于 3 年前

C语言_二叉树的基本操作及常见面试题

本片博客主要包含以下内容: 和二叉树操作相关的队列基本操作 初始化 入队列 判断队列是否为空 出队列,返回对头元素 和二叉树相关的栈的基本操作 初始化 入栈 出栈 判空 返回栈顶元素并出栈 返回栈顶元素不出栈 二叉树操作 ...
原创
817阅读
0评论
0点赞
发布博客于 3 年前

C语言_迷宫的实现

1、单条通路迷宫实现思路:代码如下:头文件maze.h#ifndef __MAZE_H__#define __MAZE_H__#include &amp;amp;lt;assert.h&amp;amp;gt;#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;stdlib.h&amp;amp;gt;#define H
原创
398阅读
0评论
0点赞
发布博客于 3 年前

C语言_队列的基本操作

本片博客主要内容: 创建新结点 初始化队列 入队列 出队列 返回对头元素 返回队尾元素 计算队列长度 判断队列是否为空,为空返回1,否则返回零1、初始化队列void QueueInit (Queue* q) //初始化队列{ QNode *cur = (QNode *)malloc (sizeof (QNode));...
原创
453阅读
0评论
0点赞
发布博客于 3 年前

C语言_解决括号匹配问题和逆波兰表达式求值为题

1、括号匹配问题:解决思路: void MatchBrackets (const char* str){ char* per = NULL; int i = 0; Stack s; assert (str != NULL); InitStack (&amp;amp;s); per = (char*)str; for (i=0; per[...
原创
628阅读
0评论
0点赞
发布博客于 3 年前

C语言_栈的基本操作(顺序栈)

本片博客主要是顺序栈的基本操作,包含以下内容: 初始化 入栈 出栈 判空 判满 返回栈顶元素(栈顶元素不出栈) 返回栈顶元素(栈顶元素出栈)顺序栈的初始化:初始化顺序栈时只需要让栈顶等零void InitStack (Stack *p) //初始化{ assert (p != NULL); p-&amp;amp;gt;top = 0;...
原创
873阅读
0评论
0点赞
发布博客于 3 年前

C语言_双向循环链表的基本操作

目录: 1、初始化 2、头部插入 3、头部删除 4、尾部插入 5、尾部删除 6、打印链表 7、任意位置插入 8、查找值为data的节点 9、指定位置删除 10、销毁链表1、初始化:创建一个节点,给节点赋值为0;因为是循环链表,所以让它的_pNext指针域和_pPre 指针域都指向自己void DCListInit ...
原创
1182阅读
0评论
1点赞
发布博客于 3 年前

Linux基本命令

在介绍Linux基础命令之前,我们先来了解两个概念:一、相对路径与绝对路径1、绝对路径: 路径的写法一定由根目录/开始写起。例如:/usr/share/doc 这个目录2、相对路径: 路径的写法不是由根目录/写起。例如:由/usr/share/doc目录到/usr/share/man这个目录时 ,可以写成:“cd ../man”,这就是相对路径的写法。相对路径意指相对于目前工作目录...
原创
520阅读
0评论
0点赞
发布博客于 3 年前

Linux根目录下各文件的作用

1、bin重要的二进制文件,系统所使用的所有命令都放在这里边2、 etc配置文件、启动脚本等,这里边包含所有程序所需的配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本。3、lib系统库文件,包含支持位于/bin和/sbin下的二进制文件的库文件。4、media挂载可移动介质 (media),用于挂载可移动设备的临时目录5、mnt挂载目录,是系统...
原创
139阅读
0评论
0点赞
发布博客于 3 年前

单向链表的基本操作以及常见面试题分析

目录: 一、单链表的基本操作 1、初始化链表 2、尾部插入 3、尾部删除 4、头部插入 5、头部删除 6、销毁链表 7.打印单链表内容 8、查询数据为d的节点 9、在指定位置之前插入一个节点 10、指定位置节点删除 11、删除数据为d,第一次出现的节点 12、删除数据为d的所有节点 二,链表常见面试题 1、...
原创
232阅读
0评论
0点赞
发布博客于 3 年前

C语言_顺序表操作

1、头文件 SequList.h#ifndef __ SequList _ H __#define __ SequList _ H __#include &amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;assert.h&
原创
264阅读
0评论
0点赞
发布博客于 3 年前

C语言_注释转换

实现功能:对指定路径下的一个文件夹里边的所有.c文件进行注释转换,然后在存到指定路径的文件夹下(注释转换:把C语言注释 /* …… */ 转换为 / /……) 代码如下:头文件代码CommentConvert.h#ifndef __COMMENT_CONVERT_H__#define __COMMENT_CONVERT_H__#define _CRT_SECURE_NO_WA...
原创
122阅读
0评论
0点赞
发布博客于 3 年前

C语言通讯录(2)_用文件存储

这一个通讯录系统是将之前那个做了一点修改,里面添加了文件存储功能#define _CRT_SECURE_NO_WARNINGS 1#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;malloc.h&gt;#include &lt;string.h&gt;#include &lt;assert.h&gt;...
原创
410阅读
0评论
0点赞
发布博客于 3 年前

C语言_通讯录系统

通讯录可以用来存储联系人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 # define _CRT_SECURE_NO_WARNINGS 1#include ...
原创
1058阅读
2评论
5点赞
发布博客于 3 年前

C语言_自定义类型知识总结

目录: 1、结构体 (1)结构体的声明 (2)结构体成员的访问 (3)结构体的初始化 (4)结构体内存对齐 (5)位段,位段大小的计算 2、枚举 3、联合一、结构体C语言允许用户自己指定这样一种数据结构,它由不同类型的数据组合成一个整体,以便引用,这些组合在一个整体中的数据是互相联系的,这样的数据结构称为结...
原创
212阅读
0评论
1点赞
发布博客于 3 年前

模拟实现strncpy,strncat ,strncmp (C语言)

1、模拟实现strncpy(1)函数原型:char * strncpy(char *s1,char *s2,size_t n);(2)函数功能:将字符串s2中最多n个字符复制到字符数组s1中,返回指向s1的指针。代码如下:#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;#include &am
原创
224阅读
0评论
0点赞
发布博客于 3 年前

模仿qsort的功能实现一个通用的冒泡排序

qsort函数简介:qsort函数包含在&amp;lt;stdlib.h&amp;gt;中qsort函数声明如下:void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(const void *,const void *));参数说明:base:要排序的数组nmemb:数组中元素的数目size:每个数组元素占用的内存空间,可使用s...
原创
167阅读
0评论
0点赞
发布博客于 3 年前

简单介绍 :指针数组, 数组指针, 函数指针, 函数指针数组, 指向函数指针数组的指针

一、概念分析1、指针数组指针数组:可以说成是“指针的数组”,它是一个数组, 用指针来修饰这个,意思是说这个数组的所有元素都是指针类型,在32位的系统中,指针占4个字节;2、数组指针数组指针:可以说成是”数组的指针“,首先它是一个指针, 用数组修饰它, 意思是说这个指针存放着一个数组的地址,也就是说这个指针指向一个数组;3、函数指针函数指针:可以说它是...
原创
89阅读
0评论
0点赞
发布博客于 3 年前

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。

1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字,编程实现。2、喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。3、模拟实现strcpy4.模拟实现strcat
原创
726阅读
1评论
1点赞
发布博客于 3 年前

C语言_递归练习

1、递归和非递归分别实现求第n个斐波那契数。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;void num1 (int *p, int n)//非递归求第n个数的斐波那契数的函数{ int i = 0; p[0] = 1; p[1] = 1; for (i=2; i&lt;n; i++) { ...
原创
349阅读
0评论
3点赞
发布博客于 3 年前

c语言_可变参数实现求平均值, 最大值,和简单模拟printf函数功能

1.使用可变参数,实现函数,求函数参数的平均值。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;stdarg.h&gt;int average(int n, ...){ va_list arg; int i = 0; int sum = 0; va_start(arg, n);...
原创
203阅读
0评论
0点赞
发布博客于 3 年前

C语言可变参数列表知识总结

原创
1348阅读
0评论
0点赞
发布博客于 3 年前

1.使用main函数的参数,实现一个整数计算器;2、写冒泡排序可以排序多个字符串

1.使用main函数的参数,实现一个整数计算器程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。2、写冒泡排序可以排序多个字符串
原创
230阅读
0评论
0点赞
发布博客于 3 年前

C语言中strcpy、strcat、strstr、strchr、strcmp、memcpy、memmove函数的实现

1、strcpy函数(1)、函数功能:strcpy函数的意思是:把字符串s2中的内容copy到s1中,连字符串结束标志也一起copy.(2)、代码实现#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;const char* my_strcpy (char* arr2, const char* arr1){ ...
原创
229阅读
0评论
0点赞
发布博客于 3 年前

C语言_函数的调用过程(栈帧)

C语言函数的调用过程(栈帧)首先通过下面这段代码探究函数的调用过程:#include <stdio.h>#include <stdlib.h>int add(int a, int b){ int ret = 0; ret = a + b; return ret;}int main (){
原创
193阅读
0评论
0点赞
发布博客于 3 年前

1.实现一个函数,可以左旋字符串中的k个字符;2,判断一个字符串是否为另外一个字符串旋转之后的字符串。

1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0. AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA AABCD右旋一个字符得到DAABC
原创
93阅读
0评论
0点赞
发布博客于 3 年前

用Markdown创建表格

用Markdown创建表格方法一: | hahaha| hehehe | xixixi | | - | :-: | :-: | | aaa | 111 | 222 | | bbb | 333 | 444 | | ccc | 555 | 666 |效果展示: hahahe heheha xixixi aaa 111 222 bbb 333
原创
602阅读
0评论
0点赞
发布博客于 3 年前

C语言_函数和宏的区别

C语言函数和宏的区别:属性 define 宏 函数 代码长度 每次使用时宏代码都被插入到程序中,除了非常小的宏之外,程序的长度将会大大增长 函数代码只出现在一个地方,每次使用这个函数时都调用那个地方的同一段代码 执行速度 更快 存在函数调用/返回的额外开销 操作符优先级 宏参数的求值是在所有周围环境的表达式的上下文环境里除非他们加上括号,否则邻近操作符的优先级可能会产生不可预
原创
194阅读
0评论
0点赞
发布博客于 3 年前

1.调整数组使奇数全部都位于偶数前面2、杨氏矩阵在这样的数组中查找一个数字是否存在

1.调整数组使奇数全部都位于偶数前面。输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。2、杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
原创
116阅读
0评论
0点赞
发布博客于 3 年前

编写函数这个函数的返回 值value的二进制位模式从左到右翻转后的值

1.编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回 值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000...
原创
124阅读
0评论
0点赞
发布博客于 3 年前

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 ;杨辉三角形

1、5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt...
原创
189阅读
0评论
0点赞
发布博客于 3 年前

C语言使用宏_交换一个数的奇数位和偶数位 求两个数中的最大值

1、写一个宏可以将一个数字的奇数位和偶数位交换。刚看到这个题的时候感觉我也觉得这个题很怪,让交换一个数的奇数位和偶数位,感觉完全不知道该从何处下手,然后通过在网上查了一下才知道这个题要交换的不是十进制数,而是十进制对应的二进制数的奇数位和偶数位。代码如下:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;# define cha...
原创
314阅读
0评论
0点赞
发布博客于 3 年前

C语言_数组知识总结

数组知识重点:1、一维数组的创建和初始化2、一维数组的使用3、一维数组在内存中的存储4、指针的初步介绍5、一维数组的指针访问6、二维数组的创建和初始化7、二维数组的使用8、二维数组在内存中的存储正文一、一维数组的创建和初始化1、数组的创建:数组:是一组相同类型元素的集合数组的创建方式:...
原创
122阅读
0评论
0点赞
发布博客于 3 年前

C语言小游戏_扫雷

扫雷(C语言版)这个扫雷是在9*9的格子里,一共有10个地雷,代码如下:test.c(测试游戏功能)# include &amp;amp;quot;game2.h&amp;amp;quot;void menu(){ printf (&amp;amp;quot;**********************************
&amp;amp;quot;); printf (&amp
原创
262阅读
2评论
1点赞
发布博客于 3 年前

C语言_三子棋小游戏

三子棋(c语言版)游戏是在3*3的棋盘上输入坐标,其主要功能有:(1),玩家走(2),电脑走(3),打印棋盘(4),判断输赢(5),判断是不是平局头文件一个,game.h源文件有2个,分别是test.c 和 game.c代码如下:game.h(头文件)//三子棋游戏# ifndef __GAME_H__#d...
原创
265阅读
0评论
1点赞
发布博客于 3 年前

C语言_打印菱形(2)

//之前写的一个打印菱形有点问题,菱形行数不能修改,所以又重新改了一下:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){    int a = 0, b = 0, i = 0, j = 0, k = 0;    printf ("请输入你要打印的菱形的行数:
");    scanf ("%d",&amp;a);    b ...
原创
99阅读
0评论
0点赞
发布博客于 3 年前

C语言入门_7_函数的使用

1、实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定。(例如输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表)#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;void table (int a){ int i, j; for (i=1; i&lt;=a; ++i) { fo...
原创
83阅读
0评论
0点赞
发布博客于 3 年前

C语言入门_二进制数

1,写一个函数返回二进制中一的个数比如:15 —– 0000 1111—— 4个1#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int count_one_bits(unsigned int value) { int i = 0, count = 0; for (i=0; i&lt;32; ++i ) ...
原创
1709阅读
0评论
0点赞
发布博客于 3 年前