自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 栈以及相关练习

实现:需要维护一个最小栈minstack,压栈的时候小于等于当前最小站的val值需要压栈,minstack栈顶等于stack的栈顶的时候需要给minstack出栈。遍历入栈的数组,先将入栈数组的元素入栈,然后将栈顶元素与出栈元素比较,相等的话就出栈,知道入栈数组遍历完,栈为空则次序匹配,否则不匹配。3.4最小栈(https://leetcode.cn/problems/min-stack/)遍历后缀表达式,遇到数字入栈,遇到符号弹出栈顶两个元素,参与运算,把计算后的结果再次入栈。2.自己实现一个简单的栈。

2023-08-16 18:12:18 35

原创 链表及相关练习

7.链表的回文结构(https://leetcode.cn/problems/palindrome-linked-list/submissions/)9.判断链表是否有环(https://leetcode.cn/problems/linked-list-cycle/submissions/)3.返回链表的中间节点(https://leetcode.cn/problems/middle-of-the-linked-list/)思路:相遇点与入口点的距离和起始点与入口点的距离相等。

2023-08-15 18:07:24 36

原创 ArrayList与顺序表

解决思路:创建一个ArrayList,ArrayList里面还有一个ArrayList1,ArrayList2,…ArrayList优点:当给定下标的时候,查找的速度非常快,适合给定下标查找。O(1)缺点:插入删除时须得挪动元素,每次扩容也浪费资源。顺序表插入和删除需要移动元素,时间复杂度位O(n),所以不适合频繁的对数据插入和删除,适合给定下标查找元素,时间复杂度为O(1)。线性表是n个相同特征元素的有限序列。线性表在逻辑上是连续的,但在物理上不一定是连续的。五.扑克牌的实现顺序表。

2023-08-09 20:27:33 43 1

原创 包装类及简单泛型

规范:E表示Element,K表示Key,V表示Value,N表示Number,T表示Type,S,U,V表示第二,第三,第四个类型。在Java中,由于基本数据类型不是继承自Object,为了在泛型代码中可以支持基本类型,java给每个基本类型都对应了一个包装类型。一般的类和方法,只能使用具体的数据类型(基本数据类型或自定义的类),为了取消这种束缚,映出了泛型。泛型的好处:存储元素的时候,可以进行自动类型检查,获取元素的时候,可以进行类型转换。称为泛型的上界,代表将来指定的参数类型一定实现了这个接口。

2023-08-05 11:53:51 32 1

原创 第二十一章:创建和操纵表

创建一个表:每列由逗号分隔,最后一列不需要,主键用primary key关键字指定。已存在的表不能重复创建。先忽略ENGINE=INNODB;(引擎)NULL值:没有值或缺值。允许NULL值存在的列可以在插入行时不给出具体的列值;不允许NULL值的列不接受该列没有值的行,也就是说在插入或更新时,该列必须有值。NULL值与空串:NULL值是没有值,不是空串。如果’'(两个单引号,期间没有字符),在NOT NULL中是允许的。空串是一个有效的值,它不是无值。主键:主键值必须唯一且不允许为空,即能标识表中

2022-06-24 11:31:37 143 1

原创 第三章:使用MySql

返回可用数据库的列表:选择数据库:返回当前选择数据库内的可用列表:显示表列:显示服务器状态:show status;显示创建特定数据库或表的MYSQKL语句:show create database; show create table;显示授予用户:show grants;显示服务器错误或警告消息:show errors; show warnings;...

2022-06-23 14:02:01 112

原创 对象中的等待集(wait,notify,notifyAll)

wait():1.wait()会使线程状态发生变化(runnable-->waiting,waiting-->runnable)2.等的是对像的等待集上(wait()是Object的一个方法,所以等在该对象的等待集上)3.使用的时候必须加锁,等在哪个对象上,就对哪个对象加锁(wait()执行成功时会释放锁,醒来时会重新请求锁)4.哪个线程调用wait(),哪个线程进入等待集5.notify()只唤醒一个,但不保证是哪一个,但notifyAll()会唤醒所有对象示例:有两个

2020-09-25 20:06:54 206

原创 线程的状态及线程安全

线程的状态线程的所有状态:线程的状态是一个枚举类型:Thread.State线程通过状态标识当前线程所处的一个情况1.JVM内部管理线程2.提供给代码的编写者观察程序的运行状态线程的状态转移isAlive() 判断线程是否活着 //线程只要不处于不是new和terminated就是huozhejoin() //相当于一直在判断线程是否活着的死循环yield() //可以理解位一个雷锋同志,当线程抢到CPU时,主动让出CPU资源,重新回到排队队伍中去线...

2020-09-23 11:09:52 69

原创 认识线程及Thread的常见方法

线程与进程的区别:进程是系统分配资源的最小单位,线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的。线程与进程最大的区别就是执行流之间是否有资源的共享。每个进程至少有一个线程存在,即主线程。一个多线程和非多线程代码的输出现象:...

2020-09-15 20:23:39 123

原创 操作系统与进程概述

操作系统:冯 诺依曼体系结构:常见的计算机如笔记本就是冯 诺依曼体系存储器指的是内存;cpu只能对内存进行读写,不能访问外设;外设只能从内存读写数据,总之所有设备只能直接与内存打交道。操作系统:任何计算机系统都包含一个基本的程序集合,称为操作系统,操作系统包括:内核(进程管理,内存管理,文件管理,驱动管理)其他程序(例如库函数,shell程序等等)1.找到文件,检查文件是否合法(.exe)2.创建一个PCB对象——描述3.为进程分配一个唯一的pid4.把程序文件按照指

2020-09-07 22:17:15 93

原创 链表的深入l拷贝

给定一个链表,每个结点包含一个额外增加的随机指针,该指针可以指向链表中的任何结点或空结点要求返回这个节点的深拷贝。摘要:public class Test27 { public static void main(String[] agrs) { CNode head=null; CNode n1=new CNode(1); CNode...

2019-07-27 16:51:35 155

原创 链表反转

public class Reverse { public static void main(String [] args){ Node head = new Node(1); head.next = new Node(2); head.next.next = new Node(3); head.next.next.next ...

2019-07-27 08:36:37 60

原创 链表的头插,尾插,头删,尾删和指定位置的插入

public class LinkedArray { public static void main(String[] args){ Node head=null; head=pushFront(head,3); head=pushFront(head,2); head=pushFront(head,1); P...

2019-07-26 15:42:24 209

原创 数据结构-复杂度

复杂度:不求甚解的衡量算法好坏的刻度尺最好|平均|最坏优先看最坏,其次看平均时间复杂度(重点)空间复杂度n:输入数据的规模F(n):在n的数据规模的情况下,基本指令的个数继续不求甚解,大O渐近表示法1)保留最高次项2)最高次项的系数化为1一组对比:n 1000 1000 000 10亿O(n) ...

2019-07-23 16:44:12 64

原创 顺序表的插入和删除

public class Test23{ public static void main(String[] agrs){ MyArrayList list=new MyArrayList(); list.pushBack(1); list.pushBack(2); list.pushBack(3); list.print(); list.pushFront(10); ...

2019-07-23 15:45:10 316

原创 类和对象

类和对象1.什么是类(自行车的设计图)什么是对象(一辆辆的自行车)2.为什么要设计类和对象的机制(面向对象编程)状态 + 行为属性 方法3.面向对象的三大特点:封装|继承|多态4.语法:1)定义类的语法修饰符(modifier)class 类名称{1.属性2.方法/静态方法3.构造方法(必须有,否则编译器会自动补一个)}2)如何定义属性修饰...

2019-07-22 17:03:05 57

原创 数组的定义与使用

1.数组是引用类型的数据定义语法:int[] a;赋值:int[] a={1,2,3,4,5};只在初始化的时候使用int[] a=new int[5];(数组中未初始化,元素的值是元素类型的默认值)int[] a=new int[] {1,2,3,4,5};int[] a=null; 只定义了一个数组类型的引用变量,没有数组变量找不到数组2.对数组的操作参考C语言,java中有一...

2019-07-20 16:29:56 186

原创 冒泡排序,数组旋转和数组中的数偶数在前奇数在后

import java.util.Arrays;public class Test{ public static int[] bubbleSort(int[] a){//冒泡法排序 boolean flag=true; for(int i=a.length-1;i>=0;i--) { for(int j=0;j<=i-1;j++)//注意数组下标越界 ...

2019-07-19 14:53:21 181

原创 在数组中查找指定数字下标的两种方法(找不到返回-1)

import java.util.Arrays;public class Test{ public static int indexOf(int[] a,int v){//查找给定数字下标,找不到返回-1 for(int i=0;i<a.length;i++) { if(a[i]==v) return i; } return -1; } public...

2019-07-19 14:47:27 1992

原创 打印九九乘法表,求自然对数e和圆周率Pi,十进制转二进制

import java.util.arrays; public class Test{ public static void printmultipicationTable(){ \\打印九九乘法表 for(int i=1;i<=9;i++) { for(int j=1;j<i...

2019-07-18 17:38:19 503

原创 汉诺塔

n代表盘子个数,source 源柱子,dest 目标柱子if(n==1){move 盘子 from source to dest;}else{move n-1 盘子 from source to other;move 最后一个盘子 from source to dest;move n-1 盘子 from other to dest;} public class Hannoi{...

2019-07-17 16:56:27 93

原创 逻辑控制和方法使用

一.逻辑的执行过程1)顺序执行2)条件执行if(条件){}if(条件){}else{}if((条件1){}else if((条件2){}else{}swich(){case 分支1: break;case 分支2: break3)循环执行while(条件){}do{}while(条件);if(;;)--死循环while(true){}

2019-07-17 16:08:49 154 1

空空如也

空空如也

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

TA关注的人

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