自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue语言基础——ECMAScript 6.0

1.ECMAScript6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。2.一个完整的JavaScript实现由三部分组成文档对象模型(DOM)、浏览器对象模型(BOM)、核心(ECMAScript)3.总的来说,ES就是在设计实现JavaScript脚本语言的语法和基本对象的核心内容时所遵循的标准规范。①{......

2022-07-25 23:01:03 745 1

原创 Java解决线程安全问题的三种方式

解决线程安全问题的三种方式线程同步的核心思想1.同步代码块1.1作用:1.2原理:1.3锁对象要求:1.4锁对象能否用任意唯一的对象1.5锁对象的规范要求1.6代码演示2.同步方法2.1作用:2.2原理:2.3同步方法底层原理:2.4同步代码块好还是同步方法好2.5代码演示3.lock锁3.1lock锁简介3.2代码演示线程同步的核心思想①让多个线程实现先后依次访问共享资源,这样就解决了安全问题②加锁:把共享资源进行上锁,每次只能让一个线程进入访问完毕以后解锁,然后其他线程才能进来③1.同步代码块

2022-03-20 09:43:34 2013

原创 线程安全问题

线程安全问题1.什么是线程安全问题:2.取钱模型演示:3.图解4.代码演示:5.运行结果:6.总结线程安全问题出现的原因:1.什么是线程安全问题:多个线程同时操作同一个共享资源的时候可能会出现业务安全问题,称为线程安全问题。2.取钱模型演示:1.需求:小明和小红是一对夫妻,他们有一个共同的账户,余额是10万元。2.如果小明和小红同时来取钱,而且2人都要取钱10万元,可能出现什么问题呢?3.图解4.代码演示:主类public class ThreadSafe { public st

2022-03-19 23:33:01 1056

原创 Java创建多线程的三种方式

Java多线程1.方式一:继承Thread类1.1流程:1.2优缺点:1.3代码:1.4运行结果:2.方式二:实现Runnable接口2.1流程:2.2优缺点:2.3代码:2.4运行结果:3.方式三:实现Callable接口3.1流程:1.2优缺点:3.2代码:3.4运行结果:1.方式一:继承Thread类1.1流程:1.定义一个子类MyThread继承线程类java.lang.Thread,重写run()方法.2.创建MyThread类的对象3.调用线程对象的start()方法启动线程.1.2

2022-03-19 15:56:27 1486

原创 JS倒计时算法

JS倒计时

2022-01-28 11:40:07 3019

原创 HTML(阉割版)

HTML目录1.HTML语法规范1.1基本语法概述1.2标签关系2.HTML基本结构标签2.1第一个HTML网页3.开发工具4.HTML常用标签5.HTML中的注释和特殊字符1.HTML语法规范1.1基本语法概述1.HTML标签是由尖括号包围的关键字,例如2.HTML标签是通常成对出现的,例如和,我们称为双标签.标签中的第一个标签是开始标签,第二个标签是结束标签.3.有些特殊的标签必须是单个标签(极少情况),例如,我们称为单标签1.2标签关系1.包含关系相当于嵌套的父子关系<head

2022-01-26 19:24:27 1149

原创 超级玛丽(Java实现)

超级玛丽源码及素材源码:Class1:demon.javaClass2:MyFrame.javaClass3:Mario.javaClass4:Enemy.javaClass5:StaticValueClass6:Music.java素材:源码:Class1:demon.javapublic class demon { public static void main(String[] args){ new MyFrame(); }}Class2:MyFrame.ja

2022-01-23 13:23:43 3841

原创 Java基础

@[TOC]第一篇初识Java1.Java简介1.1什么是Java1.Java是一门高级的面向对象的程序设计语言用2.Java语言是跨平台的3.Java程序可以在任何计算机,操作系统以及支持Java的硬件设备上运行.1.2Java的应用领域1.桌面应用系统开发2.嵌入式系统开发3.电子商务应用4.企业级应用开发5.交互式系统开发6.多媒体系统开发7.分布式系统开发8.Web应用系统开发1.3Java的版本1.Java SE是Java的标准版,主要用于桌面应用程序的开发,同时

2022-01-23 12:20:11 526

原创 c++面向对象程序设计大作业(人事管理系统)

1.登录Administrator_login.h#pragma once#include"controller.h"#include<string>#include<fstream>#define FILENAME3 "password.txt"using namespace std;class Login{public: Login(); void login();public: Controller con;private: string str

2022-01-05 09:38:26 2200 1

原创 C语言数组实现约瑟夫问题

代码#include<stdio.h>#define N 520void JostphRing(int n, int m){ int count = 0, k = 0, l = 0; //数组中每一个元素都初始化为0 int arr[N] = { 0 }; while (count != n) { l++; if (l > n)//如果l>n就从1开始数 { l = 1; } if (arr[l] == 0) { k++;

2021-11-09 15:03:56 509

原创 C语言循环链表实现约瑟夫环问题

问题描述约瑟夫环问题(1)问题描述设有编号为1,2,…,n的n(n>0)个人围成一个圈,每个人持有一个密码m。从第一个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。(2)基本要求建立模型,确定存储结构。对任意n个人,密码为m,实现约瑟夫环问题。出圈的顺序可以依次输出,也可以用一个数组存储。(3)设计思想首先,设计实现约瑟夫环问题的存储结构。由

2021-11-09 13:56:15 2775 1

原创 Python实现excel统计排序输出,生成统计分布直方图

Excel要求:完成本班电子表格的数据填充。至少4门课程的成绩,然后进行相关统计,总分或者平均分或者其他,成绩名称自定,分数自行输入。表格分析前:代码:import pandas as pdimport numpy as nyimport matplotlib.pyplot as plt#统计成绩score=pd.read_excel('成绩分析综合1.xlsx')print(score)score_list=score[['作业1','作业2','作业3','作业4']]print

2021-11-06 10:43:23 1827

原创 c/c++实现顺序表的顺序存储结构,数据结构

数组结构之顺序表define:用一组地址连续的存储单元依次存储线性表元素,线性表的这种机内表示称作线性表的顺序存储结构,简称顺序表。特点:为表中相邻的元素Ai和Ai+1赋以相邻的存储位置LOC(Ai)和LOC(Ai+1)。换句话说,以元素在计算机内“物理位置相邻”来表示线性表中数据元素之间的逻辑关系。上代码:#include<iostream>using namespace std;const int SIZE = 100;typedef int Type;//构造一个线性

2021-11-03 13:08:10 674

原创 c/c++单链表的基本操作

单链表的基本操作#include<iostream>//@liningusing namespace std;typedef int Type;//构建一个结点类class Node{public: int data; Node* next;};//单链表类class LinkList{public: LinkList(); //构造链表 ~LinkList(); //析构销毁链表 void CreatLinkList();//创建链表 void Pr

2021-11-02 20:20:10 226

原创 C/C++实现二叉树的遍历(深度优先,广度优先)

二叉树的遍历广度优先遍历·层次遍历深度优先遍历1.前序遍历2.中序遍历3.后序遍历完整代码:#include<iostream>using namespace std;typedef char Type;//@lining//二叉树存储结构:二叉链表typedef struct B{ Type data; struct B* LChild; struct B* RChild;}BiTreeNode, * BiTree;//二叉树的深度int BiTreeD

2021-11-01 20:23:24 1905

原创 c++类模板对象做函数参数的三种传入方式

类模板实例化出的对象,向函数传参的方式三种传入方式:1.指定传入的类型—直接显示对象的数据类型(广泛)2.参数模板化—将对象中的参数变为模板进行传递3.整个类模板化—将这个对象类型 模板化进行传递示例:#include<iostream>#include<string>using namespace std;template<class Nametype,class Agetype>class Person{public: Person(Name

2021-10-31 19:02:43 2920

原创 C++面向对象实现自己

LingNing#include<iostream>#include<string>using namespace std;class Person{public: // Person(int a, int b, string c,string d) :n_Age(a), n_ID(b), NameInDaytime(c),NameInMidtime(d) {}; virtual void Getup() {}; virtual void Sleep() {};

2021-10-30 23:21:15 142

原创 C++多态案例

多态简介1.静态多态:函数重载和运算符重载属于静态多态,复用函数名2.动态多态:派生类和虚函数实现运行多态两者区别:1.静态多态的函数地址早绑定——编译阶段确定函数地址2.动态多态函数地址晚绑定——运行阶段确定函数地址多态满足条件1.有继承关系2.子类重写父类中的虚函数多态使用条件父类指针或引用指向子类对象重写:函数返回值类型,函数名,参数列表完全一致称为重写多态的优点1.代码组织结构清晰2.可读性强3.利于前期和后期的扩展和维护案例一.计算器#include<ios

2021-10-30 20:54:40 702

原创 C语言输出爱心

蓝色爱心#include<stdio.h>#include<stdlib.h>int main(){ system("color 3f"); float x, y; float ln; for (y = 1.5f; y > -1.5f; y -= 0.05f) { for (x = -1.5f; x < 1.5f; x += 0.02f) { ln = x * x + y * y - 1; if (ln * ln * ln - x *

2021-10-30 00:27:12 1520

原创 C++面向对象之继承

1.继承方式继承一共有三种方式:1.公共继承2.保护继承3.私有继承#include<iostream>using namespace std;class Father{public: int n_A;protected: int n_B;private: int n_C;};//公共继承class Son1:public Father{public: void func() { n_A = 10;//父类中的公共权限成员,到子类中依然是公共权限

2021-10-29 23:59:08 177

原创 new的几种简单基本用法

new的用法new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。通常来说,当在局部函数中new出一段新的空间,该段空间在局部函数调用结束后仍然能够使用,可以用来向主函数传递参数。另外需要注意的是,new的使用格式,new出来的是一段空间的首地址。所以一般需要用指针来存放这段地址。代码#include<iostream>using namespace std;class C{};int main(){ //用new

2021-10-26 00:14:52 9369 6

原创 liu.2021.10.23

1.页码问题#输出页码问题def func(page): result = [0,0,0,0,0,0,0,0,0,0] #列表中的每个元素代表对应的数字使用次数,次数都初始化为0 for i in range(1,page+1): #从第一页开始遍历 if i < 10: #如果页码数小于10,对应使用次数直接+1 result[i] += 1 else: j

2021-10-23 21:47:13 62

原创 C++函数模板

什么叫函数模板?函数模板不是一个实在的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时,将根据传递的实际参数决定其功能。定义形式函数模板定义的一般形式如下:template<类型形式参数表>返回类型 函数名(形式参数表){… //函数体}函数模板有什么用呢?先来一个简单的例子交换两个变量的值1.int型void Swap(int & a, int& b){ int temp = a; a = b; b

2021-10-20 15:49:52 79

原创 liu.四则运算库,模拟第三方库的编写,测试

1.四则运算库def add(a,b): return float(a + b)def subtracr(a,b): return float(a - b)def multipy(a,b): return float(a * b)def divide(a,b): return float(a / b)2.调用四则运算库import calc_dataimport randomn = int(input("你准备回答几道题?"))global countc

2021-10-13 15:43:40 119

原创 Python实现单链表

首先是Python中结点的表示方法类似于C语言,C语言中用结构体来表示,而Python中用类来表示1. 用class来表示结点class ListNode(object): def __init__(self,val,next = None): self.val = val #数据域 self.next = next #指针域在这个类中包含了数据域和指针域,数据域val是

2021-10-03 10:29:36 1354 1

原创 python控制键盘鼠标库pynput基本操作

pynput库对于每一种输入设备,它包含一个子包来控制该种设备包含控制和监控鼠标或触摸板的类pynput.mouse包含控制和监控键盘的类 pynput.keyboard:鼠标模块鼠标基本操作导入pynput控制鼠标的模块from pynput import mouse获取鼠标的操控对象control = mouse.Controller()获取当前鼠标的位置print(control.position)改变鼠标的位置control.position = (100,

2021-09-18 14:27:32 6216

原创 输入任意个数数字,输出最大值

算法思想1.创建一个空列表;2.输出提示符;3.创建一个死循环;4.设置跳出循环的条件,满足条件后使用break跳出循环;5.删除列表中最后一个元素,因为那是输入结束的判断条件;6.将列表进行排序;7.用负索引输出最大值;8.overln = []print('请输入任意个数数字,每个数字以回车结束,输入110并回车后停止输入')while 1: n = int(input()) #input默认输入的是字符串,需转换为int型 ln.append(n)

2021-09-13 13:01:06 2705 1

原创 求一个字符串中英文单词的个数

问题描述求一个字符串中英文单词的个数分析举个例子'Hello, my name is lining, I like eatting'情形1第一个单词,第一个单词前面没有任何字符,可以作为单词数+1的条件。情形2除了第一个单词外,每个单词的第一个字符的前面一个字符是空格,可作为单词数+1的判断条件。判断条件if str[i] != ' ' and (i == 0 or str[i-1] == ' '):完整代码:class Solution: def count_words

2021-09-12 22:28:42 487

原创 类的赋值,浅拷贝与深拷贝。

变量的赋值操作只是形成两个变量,实际上还是指向同一个对象class Cpu: pass#变量的赋值cpu1 =Cpu() #创建对象cpu2 = cpu1 #赋值print(cpu1,id(cpu1)) #打印内存地址print(cpu2,id(cpu2))2021.9.12运行结果可以看到两个变量的内存地址都一样,所以变量的赋值操作实际上的结果是将一个对象放到两个变量中去储存。示意图

2021-09-12 10:51:33 170

原创 二进制基础,有符号数,无符号数,原码,反码,补码

什么叫二进制?二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。二进制的优点数字装置简单可靠,所用元件少;只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示;基本运算规则简单,运算操作方便

2021-09-11 20:52:36 5999

原创 二分查找(折半查找)详解python实现

二分查找#简介:二分查找也叫折半查找,是一种效率很高的查找方法。给定一个整数x和整数集a1,a2,a3…an.后者已经预先排序并在内存中,求使得整数集中某个元素等于所要查找的元素的索引。算法要求:1.必须采用顺序储存结构。2.表中数据必须有序排列。查找过程这里以升序举例:First:target= 52是我们要查找的目标,初始low是表中第一个元素的下标,high是表中最后一个元素的下标。mid= (low+high)/2表中中间元素的下标。判断mid所指元素48和目标元素52的大小S

2021-09-11 13:50:29 1000

原创 逆序输出一个整数——Python实现

算法while(number>0): a = number % 10 #找到最后一位 number = int(number/10) s = s*10 + a1.a用来暂存一个整数的最后一位2.number用来存储一个整数去掉尾数后剩下的部分3.s是每次迭代后新生成的数举个例子number = 123第一次循环:a=3,number= 12,s=3第二次循环:a=2,number= 1,s

2021-09-10 23:39:09 6587 5

原创 力扣138题,复制带随机指针的链表2021.7.22

复制带随机指针的链表题目描述:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random

2021-07-22 17:50:01 89

原创 C++实现多次响铃2021.7.21

实现多次响铃这里调用Sleep()函数,功能是执行挂起一段时间,也就是等待一段时间在继续执行。如果不调用该函数,就会听到只响一声,实际上不是只响一声,而是系统执行的太快,导致你只听到一声的错觉。调用Sleep()函数就能解决该问题,该函数定义在头文件Windows.h中。Sleep()函数的参数是时间,在Windows下单位是毫秒,在Linux下单位是秒。另外S区分大小写,与编译器有关。#include<iostream>#include<Windows.h>using

2021-07-21 21:54:39 664 3

原创 C++解答相交链表,力扣第160题2021.7.21

题目描述给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at ‘8’解

2021-07-21 21:36:39 211

原创 C++实现打印杨辉三角形(分别用固定大小数组和vector容器构造二维数组来实现)2021-07-21

C++实现打印杨辉三角形1.用固定大小数组来实现首先应该想到的是要使用二维数组来实现#include<iostream>#include<iomanip>using namespace std;const int n = 5;//以五行示例,如想改变行数只需改变n的值int main(){ int a[n][n]; int i, j; for (i = 0; i < n; i++) { for (j = 0; j <= i; j++) {

2021-07-21 17:25:32 1944

空空如也

空空如也

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

TA关注的人

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