自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 反射机制介绍

(1)反射初识反射指的是对象的反向处理操作,既然是反向处理。怎么称为对象的反向操作呢?那对象正向操作是如何进行的?我们先来观察一下"正"的操作。在默认情况下,必须要先导入一个包,而后才能产⽣类的实例化对象观察正常处理:import java.util.Date;public class Test {public static void main(String[] args) {Da...

2020-04-30 17:49:07 283

原创 再谈OSI七层网络模型

一.OSI七层网络模型的来源当时在计算机通讯的时代,不同的厂家生产不同的计算机,CPU,操作系统等大都不相同,各家厂商的各种网络体系结构、各种协议之间并不相互兼容。即使是从物理层面上连接了两台异构的计算机,由于它们之间采用的网络体系结构不同,支持的协议不同,仍然无法实现正常的通信。为了解决上述问题,ISO" 制定了一个国际标准OSI",对通信系统进行了标准化。现在,OSI 所定义的协议虽然并...

2020-04-21 16:28:53 381

原创 算法-滑动窗口

一.滑动窗口滑动窗口其实就是高级版的双指针技巧,只不过它依靠了数据结构(hashmap, hashset)的帮助,使得双指针运用起来更加的灵活,更加的方便,他主要就是来解决子字符串匹配问题。他主要的思路就是这样的固定步骤:1、我们在字符串 S 中使用双指针中的左右指针技巧,初始化 left = right = 0,把索引闭区间 [left, right] 称为一个「窗口」。2、我们先不断地...

2020-04-13 15:14:35 182

原创 面试题练习与总结

一.笨阶乘通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-)。例如,clumsy(10) = 10 ...

2020-02-21 16:19:04 157

原创 计算机网络初识

一.什么是计算机网络?计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。二.网络的背景和发展1.独立模式:计算机之间相互独立就是如果有3个主机各自持有客户数据,先得完成业务1再去第二台主机完成业务2,在去第三台主机完成业务3。2.网络互连:多台计算机连...

2020-02-21 15:29:10 158

原创 银行家算法

(1)要求<1>.有录入界面动态录入进程数,资源种类数,各类资源总数,t0时刻各进程的最大需求数,已分配数等信息.<2>.有算法选择界面,能够进行安全性检验,对进程动态请求资源的银行家算法检查,退出等的功能选择,要求可以进行多进程多次的资源请求.<3>.有输出界面,要求能够输出安全性检查的结果,如安全能够输出安全序列,能够输出进程请求资源后是否分配的结果,...

2019-12-26 12:50:05 965

原创 面试题IV

一. 分割平衡字符串在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。输入:s = “RLRRLLRLRL”输出:4解释:s 可以分割为 “RL”, “RRLL”, “RL”, “RL”, 每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’。public in...

2019-12-18 22:40:36 185

原创 面试题III

一.交换字符使得字符串相同有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符串内部。也就是说,我们可以交换 s1[i] 和 s2[j],但不能交换 s1[i] 和 s1[j]。...

2019-12-18 22:35:58 774

原创 面试题练习II

一.统计参与通信的服务器这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。输入:grid = [[1,0],[0,1]]输出:0解释:没有一台服务器能与其他服务器进行通信。...

2019-12-17 21:48:52 603

原创 面试题练习

一.二维网格迁移给你一个 n 行 m 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。每次「迁移」操作将会引发下述活动:位于 grid[i][j] 的元素将会移动到 grid[i][j + 1]。位于 grid[i][m - 1] 的元素将会移动到 grid[i + 1][0]。位于 grid[n - 1][m - 1] 的元素将会移动到 grid[0][0]...

2019-12-17 21:42:57 121

原创 内存动态分区分配与回收

(1)要求<1>.四个动态分区分配算法:最佳适应算法,最坏适应算法,首次适应算法,循环首次适应算法.<2>.四种回收情况<3>.要求有录入界面,动态初始化内存使用情况,动态录入进程对内存的分配与回收请求.<4>.有算法选择界面,动态选择分区分配算法.<5>.有输出界面,能够查看内存分配与回收的结果.(2)初始化我是创了一个进...

2019-12-11 20:53:24 3732 3

原创 (下)实现进程调度算法|操作系统

接着上一篇来说,往往觉得最后的就是最难得.这个肯定也不能避免.(1)优先级调度算法这采用的是高响应比优先的算法,和短进程一样,只不过它后来排序的是按算的响应比来排的. public void priority(){ //优先级算法 sort(); int temover = processes[0].insertTime; for (int i...

2019-12-03 21:15:41 174

原创 (上)实现进程调度算法|操作系统

(1)要求<1>.有录入界面,动态录入进程个数,进程标识符,进入时间,服务时间,优先级,系统时间片长短等信息.<2>.有算法选择界面,能够选择不同的调度算法.<3>.有输出界面,输出不同调度算法下诸进程的进程标识符,进入时间,服务时间,开始时间,完成时间,周转时间,带权周转时间,及一组进程的平均周转时间及平均带权周转时间.<4>.实现4大算法...

2019-12-03 21:06:32 257

原创 java总结(下)

到了下篇了,大家应该都知道往往总是下篇比上篇难,那么我写的这个也肯定不可避免.这篇总结了面向对象编程,和一些异常类,去认识string类.等等下面我们开始吧!!!一.认识string类(1)创建字符串// 方式一String str = "Hello Bit";// 方式二String str2 = new String("Hello Bit");// 方式三char[] ar...

2019-11-29 16:55:20 106

原创 java的总结(上)

学了这么长时间的java基础知识,感觉自已挺有收获的,所以,就写一篇博客把我所学的分享给大家们,java就是要面向对象编程,有不同的事务就得创建不同类,去表达他们。其中java比c++少了复杂的指针,但其实呢,java中也有指针就是引用(低配版的指针).好了,接下来就让我们走向介绍吧!一.数据类型开始不得谈一下java中数据类型都有撒其实可以分为2大类:1.基本数据类型2.引用类型...

2019-11-29 16:17:05 103

原创 排序总结(下)

一.堆排序(1)思想基本原理也是选择排序,只是不在使用遍历的方式查找无序区间的最大的数,而是通过堆来选择无序区间的最大的数。注意: 排升序要建大堆;排降序要建小堆。(2)实现public static void heapsort(int[] array){ //堆排序 升序为例 creatHeap(array); //建大堆 for(int i = 0...

2019-11-18 11:15:40 75

原创 树的简单介绍

一. 树型结构(1) 概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。(2)概念节点的度:一个节点含有的子树的...

2019-11-15 18:24:06 429

原创 排序总结(上)

一.排序是撒(1)排序排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。平时的上下文中,如果提到排序,通常指的是排升序(非降序)。通常意义上的排序,都是指的原地排序(in place sort)。(2)稳定性两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。(3)排序分类二.插入排序(1...

2019-11-15 18:07:24 74

原创 java异常总结

一.异常是什么?程序在运行过程中发生由于外部问题(如硬件错误、输入错误)等导致的程序异常事件。在Java等面向对象的编程语言中,异常本身是一个对象,产生异常就是产生了一个异常对象。二.常见的异常(1)除以 0System.out.println(10 / 0);// 执行结果Exception in thread "main" java.lang.ArithmeticExceptio...

2019-10-28 11:45:21 121

原创 图书管理系统

我在这里创建了3个包来实现看起来简单一些,一个是书的包,一个是用户的包,另一个是操作的包。这里面用了多态等特性,使代码更简单。书的包package com.BookManagementSystem.Book;public class Book { private String name; private String author; private int id...

2019-10-20 18:04:08 141

原创 java面向对象

一.面向对象面向对象编程是当今主流的程序设计思想,已经取代了过程化程序开发技术,Java 是完全面向对象编程语言,所以必须熟悉面向对象才能够编写 Java 程序  面向对象的程序核心是由对象组成的,每个对象包含着对用户公开的特定功能和隐藏的实现部分。程序中的很多对象来自 JDK 标准库,而更多的类需要我们程序员自定义。  Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成...

2019-10-17 20:15:28 145

原创 链表的面试题练习II

1.分隔链表给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5基本的思想:遍历一遍原有链表,把小于X的链表结点放到...

2019-10-05 22:11:30 71

原创 链表的面试题练习

1.合并两个有序链表例如:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4下面这个代码是已有创建好的2个有序链表,mergeTwoLists()方法是如何去合并他的方法。public class ListNode { //就是链表节点的类。 int val; ListNode ne...

2019-09-28 19:30:24 110

原创 java简单实现无头链表

链表是什么?链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。实际中链表的结构非常多样,以下情况组合起来就有8种链表结构:单向、双向带头、不带头循环、非循环虽然有这么多的链表的结构,但是我们重点掌握两种:无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这...

2019-09-25 15:05:45 309 5

原创 java简单实现顺序表

顺序表是什么?顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟的数组存储。静态顺序表适用于确定知道需要存多少数据的场景.静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用.相比之下动态顺序表更灵活, 根据需要动态的分配空间大小....

2019-09-23 21:45:19 291

原创 Java 方法重载和方法递归

一,方法(1)方法就是一个代码片段. 类似于 C 语言中的 “函数”.方法存在的意义:是能够模块化的组织代码(当代码规模比较复杂的时候).做到代码被重复使用, 一份代码可以在多个位置使用.让代码更好理解更简单.直接调用现有方法开发, 不必重复造轮子.(2)方法定义语法基本语法:// 方法定义public static 方法返回值 方法名称([参数类型 形参 ...]){...

2019-09-16 19:31:24 339

原创 java变量和运算符总结

一,变量谈到变量就得写一下Java中类型与c有何不同变量指的是程序运行时可变的量. 相当于开辟一块内存空间来保存一些数据.类型则是对变量的种类进行了划分, 不同的类型的变量具有不同的特性1.(1) 整型变量基本格式:int 变量名 = 初始值;他与c中int差不多,他一直都是4个字节。在 Java 中, 一个 int 变量占 4 个字节. 和操作系统没有直接关系.代码示例:...

2019-09-07 16:13:19 108

原创 面试题练习(罗马数转整数 ,俩数之和,实现反转)

1.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]#include&...

2019-09-06 13:29:47 143

原创 文件操作函数

1.什么是文件磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(1)程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。( 2 )数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。2.操作函数(1)fop...

2019-08-28 17:05:38 119

原创 动态内存函数的介绍

1.malloc和free(1) mallocmalloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存,且分配的大小就是程序要求的大小。void malloc(size_t size);这个函数向内申请一块连续可用的空...

2019-08-28 16:46:58 199

原创 结构体数组实现通讯录

.实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址我在这里运用函数指针数组把用到的函数地址分别存入其中,调用时不用繁杂的程序,只需要像数组调用一样。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<ass...

2019-08-26 20:48:09 758

原创 自定义类型(struct结构体)

1.结构体类型创建(1)常用创建推荐用这种struct Student{ //里面是各种信息int age;char gender;float score;’};struct Student s; // 定义结构体变量(2)typedef struct Student{ //里面是各种信息int age;char gender;float sco...

2019-08-23 19:40:44 604

原创 实现字符串常用函数

这几个函数实现过程中,一定先要进行合理性检验,也就是各种非法制,然后通过2个或3个指针的指向来完成。1.strcpy(实现字符串拷贝)把含有’\0’结束符的字符串复制到另一个地址空间#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void Strcpy(char b[], ch...

2019-08-23 18:46:00 190

原创 数组指针,函数指针,函数指针数组理解(转移表和回调函数例子)

1.数组指针数组指针,指的是数组名的指针,即数组首元素地址的指针。即是指向数组的指针。例:int (*p)[10]; p即为指向数组的指针,又称数组指针。其实他本质上是指针,只不过它当做指针加一是越过整个数组。2.函数指针和定义函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如...

2019-08-20 15:37:40 342

原创 C语言简单概述

一.四大常量1.面值常量直接定义数字,字符等;20 102.const类型int const n = 10;3.define宏定义#define Size 104,.枚举常量enum male{manwoman};二,数据类型一般分为有整型,字节类型,浮点类型。一般有:char,short , int , float,double,long,longlong。一...

2019-08-19 17:30:26 192

原创 指针理解

1.一级指针其实指针指的就是变量中内存地址,在32位中指针变量占4个字节,而在64位中占8位字节。2.二级指针二级指针就是指向一级指针所指向变量地址,他和一级指针所占内存字节数相同,所以,多级指针依次退出。3.指针和数组指针和数组其实并没有关系,但是在c中数组可以隐式类型转换为指针,也就间接产生关系,比如arr[] = {1, 2, 3, 4};其中 数组名arr 可理解为数组首元素...

2019-08-19 15:11:42 297

原创 数组中出现2次不同数字问题和汽水问题

1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){ int arr[] = { 0, 1, 2, 3, 4, 2, 1, 0, 7, 8, 8, 7 }; int l...

2019-08-17 16:54:31 134

原创 三子棋(可转化为n子棋)

详细看代码界面有点low在判断是否结束游戏时,要特别注意数组越界问题,和比较时数组值不能为空等问题。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#include <windows.h>#define ROW 10 ...

2019-07-04 16:11:09 164

原创 三子棋实现(简单版)

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 3#define COLUMN 3//判断是否棋盘满了int FULL(char chess_board[ROW][COLUMN]){ for (int i...

2019-07-02 15:04:34 120

原创 递归方式实现打印一个整数的每一位

注意递归空间的理解他是先深入最深层在逐步撤回来。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>void Integer(int n){ if (n > 9){ Integer(n / 10); } printf("%d ", n % 10);}int main(){ int number; printf...

2019-07-01 20:11:03 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除