编程语言

python实现数据结构单链表

04-22
#python实现数据结构单链表 # -*- coding: utf-8 -*- class Node(object): """节点""" def __init__(self, elem): self.elem = elem self.next = None # 节点一开始初始化的时候并不知道下一个元素的地址,所以先设置为空 class SingLinkList(object): """单链表""

OO_2019_第二单元总结——多线程电梯

04-22
传说中的多线程(魔鬼)电梯完成啦! 一.程序设计分析与基于度量的程序结构分析 三次电梯都统一地采用了生产者-消费者模型,每次在前一次的基础上进行添加,没有大规模的重构,可以说设计含有一定的可拓展性. 第一次电梯(单部多线程傻瓜调度(FAFS)电梯) 这是第一次接触多线程,十分迷惑.起初实在不知道什么是多线程,甚至写了单线程版本.后来通过查资料和多次尝试,根据生产者-消费者模型探索出了主线程(RequestInput)负责管理输入请求并存入Queue,另一个线程(ElevatorRun)模拟电梯的

01-Python的基础知识3

04-22
- 数字 - 数字常量: - 整型: - 概念: - 指代平常数学上的整数常量.Python中整型指代int类型. - 基本运算: - 可以执行平常的+,-,*,/ ,%以及其他操作 假设a=15,b=3 运算符 描述 实例 + 加 - 两个对象相加 a+b返回18 - 减 - 得到负数或是一个数减去另一个数 a-b返回12 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a*b返回45 / 除 - x除以y a/b返回0 % 取模 - 返回除法的余数 b%a返回3 // 取整除 - 返

javascript json对象操作(基本增删改查)

04-22
/** * Json对象操作,增删改查 * * @author lellansin * @blog www.lellansin.com * @version 0.1 * * 解决一些常见的问题 * get/set 解决获取和设置时,无节点中断的问题 * create 可以创建多级节点,若存在则覆盖新值 * delete 删除节点及其子节点 * print_r 格式化输出对象(调试用) * 实例见底部 */ function Json() { } /** * 获取Json对象中的某个节点 * 例如

关于不同python版本print不一致的简单解决方案

04-22
经常遇到python2.x的print不带括弧,但python3.x必须要带括弧,版本不一致,需要修改,但是面对数以十计的重复劳动,不免望而却步.其他的一些不一样的地方同理. 解决方案: 运用正则化替换即可(Ctrl+R,记得勾选Regex),输入如图内容即可一键替换. 或者notepad++中这样: 原文地址:https://www.cnblogs.com/jqpy1994/p/10756047.html

01-Python的基础知识2

04-22
- Python变量 - 变量就是重复使用的一个量,或者一个代号. - 变量的命名规则: - 必须以下划线或者字母开头,后面接任意数量下划线.字母.或数字. - 4man , 5for 是不可以的 - man4 , for5 是可以的 - 系统关键字不能做变量名使用 - class,def,break,for 等必须避开使用 - 变量名区分大小写. - StudentClass 跟 studentclass 不一样,不是一个变量名称 - 一般在Python中,以下划线开头的内容由特殊含义,不建议

《Python从入门到实践》第八章动手试一试

04-22
8-1 消息 :编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么.调用这个函数,确认显示的消息正确无误. def display_message(): print("我在本章学习到了什么叫形参什么叫做形参如何传递参数") return None display_message() 8-2 喜欢的图书 :编写一个名为favorite_book() 的函数,其中包含一个名为title 的形参.这个函数打印一条消息,如One of my favo

unity---背景循环滚动

04-22
方法一:两张图无缝拼接 float speed = 3; void Update() { transform.Translate(Vector3.right * Time.deltaTime * speed); if (transform.position.x >= 56) // 56 拖动图片离开相机范围获得 { transform.position = new Vector3(-100, transform.position.y, transform.position.z); // 第二张图

Python静态网页爬取:批量获取高清壁纸

04-22
前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我们要下载高清的图) 4.保存图片 实际操作时,我们实现了如下几步网页地址的访问:打开了壁纸的网页→单击壁纸图打开指定页面→选择分辨率,点击后打开最终保存目标图片网页→保存图片 在爬虫的过程中我们就尝试通过模拟浏览器打开网页的操作,一步步获得.访问网页.最后获得目标图片的下载地址,对图片进行下载保存到

回溯算法求关于排列有关问题

04-22
八皇后问题就是一个典型的全排列问题了,这个在有一篇博客已经写过了,但是今天想在这里对于排列问题来一个总结. 排列问题主要涉及到以下几个方面: 1.不带重复数的全排列 2.带重复数的全排列 3.有限个数的全排列(例如从n个数里面选择m个数,m<n) 现在就以上几个方面把代码给大家,能理解则理解,不能理解就背下来,这种解法效率还是挺高的. 代码前提:所有的数据我都默认从0到n-1,如果在实际运用中,有可能需要进行变化. 1.不带重复数的全排列 #include<iostream> using

匠心精作:C++从0到1入门编程

04-22
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计.C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之. C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力.最后,如果大家如果在自学遇到困难,想找一个C++的学习环境,可以加入我们的C++学习圈,点击我加入吧,会节约很多时间,减少很

Java中的==和equals的区别详解

04-22
1.基础知识 (1)String x = "hello"; (2)String x = new String ("hello"); 第1种方式的工作机制是,首先看内存中有没有存放值为"hello"的地址,如果有则将x指向这块内存地址:如果没有则在内存中重新开辟一块地址存放值"hello",并将x指向这块内存地址. String x = "hello"; String y = "hello"

C#委托、事件、线程

04-22
这是几个简单的例子,但是实际的开发中委托还还只在反射时用到过,事件的话只自己做了一次,并且还是特意去用的 ,实际上可以不用.线程的话,因为需要,所以用的会多点,这里主要是WS上的线程. 委托 在前面的反射实例中,也有用到委托执行方法. 这个例子是将一个方法或者委托实例作为另外一个函数的入参传递. 至于有什么用,我现在还没用上. private delegate void Dosth(string s);//定义委托 无返回值 一个string参数 private void button2_Cli

java爬虫系列第五讲-如何使用代理防止爬虫被屏蔽?

04-22
本文内容 1.分析一下爬虫存在的问题及解决方案 2.webmagic中代理的使用 3.目前市面上一些比较好用的代理服务器 存在的问题 我们在使用爬虫过程中,大多都会遇到这样的问题:突然某一天爬虫爬不到内容了,目标网站直接返回404或者其他错误信息,这说明我们的爬虫被目标网站给屏蔽了. 爬虫被屏蔽的原因 1.爬虫大量请求对对目标服务器造成了压力 2.爬虫采集目标网站有价值的内容到处传播,对目标网站造成了不良影响 出于以上原因,正常情况下目标网站会把爬虫屏蔽掉,这样直接导致我们开发的爬虫无法采集正确

Java锁?分布式锁?乐观锁?行锁?

04-22
Tomcat的锁 Tomcat是这个系统的核心组成部分, 每当有用户请求过来,Tomcat就会从线程池里找个线程来处理,有的执行登录,有的查看购物车,有的下订单,看着属下们尽心尽职地工作,完成人类的请求,Tomcat就很有成就感. 与此同时,它也很得意,所有的业务逻辑尽在掌握.MySQL算啥!不就是一个保存数据的地方吗? Redis算啥!不就是一个加快速度的缓存吗? 没有他们,我也能找到替代品,而我不可替代的, Tomcat经常这么想. 昨天MySQL偶然说起隔壁机器入驻了一个叫做Node.js

[Java] 为什么字符串比较不能用两个等号(==)

04-22
Java中,使用"=="比较字符串时,判断的是两个字符串是否存放在相同的位置.如果两个字符串存放在相同的位置,那么它们就是相同的,使用"=="比较的结果也就是True.但Java虚拟机并不总是使两个相同的字符串共享一个位置,它可能会存放多个相同的拷贝在不同的位置. 只有通过字面赋值的时候,相同的字符串才会共享位置: 例如:x = "Hello"; y = "Hello"; x == y; 就是True x == "H

spring整合junit进行测试

04-22
以下只是一个模板,大家记得改变配置文件 package cn.itcast.crm.dao; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframe

JAVA关键字,标识符

04-22
JAVA关键字特点: 完全小写的字母(不能有大写,也不能有数字).如: public 在增强版的记事本(如:Notepad++)中有特殊颜色. JAVA标识符:是指在程序中,我们自己定义的内容.如类的名字,方法的名字,变量的名字等等. JAVA标识符命名规则: 硬性要求: 标识符可以包括英文字母26个(区分大小写).0-9数字.¥(美元符号)._(下划线). 标识符不能以数字开头 标识符不能是关键字 软性要求: 类名规范: 首字母大写,后面每个单词首字母大写(大驼峰式) 变量名规范:首字母小写,

TypeScript之字符串排序

04-22
一 : 需要用到localeCompare 二 : 代码 $arr.sort(($a: string, $b: string): number => { return $a.localeCompare($b); }); const $printFntFnt: Function = ($arr: Array<string>): void => { if ($arr && $arr.length > 0) { for (let $i: number = 0, $j

python3 Unicode字符与16进制编码互转(单个字符)

04-22
def Unicode2HexChar(Unicde_Char):#Unicode转16进制 Hex_Char = "" for i in range(0, len(Unicde_Char)): Hex_Char += (hex(ord(Unicde_Char[i])).replace('0x','').zfill(4)) return Hex_Char print(Unicode2HexChar('.')) def HexChar2Unicode(Hex_Char):#16进制转Un