- 博客(28)
- 收藏
- 关注
原创 数据结构-栈与队列
栈和队列栈(Stack)栈的概念:栈(stack)是一种指允许在一端进行插入和删除的线性表,它是一种操作受限的线性表。只允许在一端进行插入和删除操作 ,这一端叫栈顶,另一端叫栈底栈的插入叫“入栈”或“进栈”。栈的删除叫“出栈”或“退栈”。当栈中无元素时,叫“空栈“。顺序栈:栈中的数据元素用一个预设的足够长度的一维数组来实现:ElemType elem[Max].栈顶是随者插入和删除而变化的。用int top来作为栈顶的指针,指明当前栈顶的位置,同时将elem 和top封装在一个
2021-10-09 20:48:26
255
原创 数据结构-线性表
数据结构【线性表】线性表的逻辑结构线性表是n个数据元素的有限序列。在表中,元素之间存在着线性的逻辑关系:表中有且仅有一个开始结点;有且仅有一个终端结点;除终端结点外,表中的每个结点均只有一个前驱结点; 除终结点之外,每个结点均只有一个后继结点。顺序表顺序存储是指在内存中用一块 地址连续 的存储空间按顺序存储线性表的各个数据元素。采用顺序存储的线性表叫顺序表 。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6M9e7wZg-1633783611389)(C
2021-10-09 20:47:20
317
原创 Java学习笔记-final关键字
final关键字final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量。final变量final关键字定义的变量必须在声明时对其进行赋值操作。final除了可以修饰基本数据类型的常量,还可以修饰对象引用。由于数组也可以被看作一个对象来引用,所有final可以修饰数组。一旦一个对象引用被修饰为final后,它只能恒定指向一个对象,无法将其改变以指向另一个对象。一个即是static又是final的字段只占据一段不能改变的存储空间。归纳如下
2021-06-01 20:26:58
187
原创 Java学习笔记-处理对象
处理对象Java对象都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理Java对象的通用方法。打印对象和toString方法public class Person{ private String name; public Person(String name) { this .name=name; }}public class PrintObject{ public static void main(Strin
2021-06-01 20:26:27
238
原创 Java学习笔记-初始化块
初始化块功能实现和构造器一样的功能,对 对象进行初始化操作。初始化块 相当于一种成员,一个类里可以有多种初始化块,语法格式如下:修饰符{ //初始化的可执行代码...}初始化的修饰符只有static关键字,写上static修饰符的初始化块被称为类初始化块(静态初始化块),没有static修饰的初始化块被称为实例初始化块(非静态初始化块)。初始化块里的代码可以包含任何可执行性语句,包括定义局部变量、调用其他对象的方法,以及使用分支,循环语句等。package day6;
2021-06-01 20:25:44
142
原创 Java学习笔记-多态
多态编译时类型和运行时类型编译时类型:由声明该变量时使用的类型决定;运行时类型:由实际赋给该变量的对象决定。多态的形成:编译时类型和运行时类型不一致,就可能会出现多态。相同类型的变量、调用同一个方法时呈现出多种不同的行为的特征,这就是多态。public class BaseClass{ public int book =6; public void base() { System.out.println("父类的普通方法"); }
2021-06-01 20:25:16
181
原创 Java学习笔记-深入构造器
深入构造器构造器是有一个特殊的方法,这个特殊方法用于创建实例时执行初始化。构造器是创建对象的重要途径(即使使用工厂模式、反射等方式创建对象,其实质依然是依赖于构造器),因此Java类必须包含一个或一个以上的构造器。构造器无返回值。构造器名称必须与类名称相同。使用构造器执行初始化构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统为这个对象的实例变量进行初始化,这种默认的初始化把所有基本类型的实例变量都设为0(对数组型实例变量)或false(对布尔类型实例变量),把所有引用类型的实
2021-06-01 20:24:39
140
原创 Java学习笔记-类的继承
类的继承继承是面向对象的三大特征之一,也是实现软件复用的重要手段。Java的继承具有单继承的特点。每个子类只有一个父类。继承的特点Java的继承通过extends关键字来实现,实现继承的类被称为子类,被继承的类被称为父类,有的也称其为基类、超类。子类和父类的关系,是一种一般和特殊的关系。例如水果和苹果的关系,苹果继承了水果,苹果是水果的子类,则苹果是一种特殊的水果。因为子类是一种特殊的父类,因此父类包含的范围总比子类包含的范围要大,所以可以认为父类是大类,而子类是小类。语法格式如下:修饰符
2021-06-01 20:24:03
129
原创 Java学习笔记-对象的this引用
对象的this引用this关键字总是指向调用该方法的对象。根据this出现的位置,this作为对象的默认引用有两种情形。构造器中引用该构造器正在初始化的对象。在方法中引用调用该方法的对象。引用this的对比例子public class Dog{ public void jump() { System.out.println(" "); } public void run() { var d=new Dog()
2021-06-01 20:23:25
172
原创 Java学习笔记-包装类
包装类Java是一种面向对象语言,Java中的类把方法与数据连接在一起,构成了自包含式的处理单元。但在Java中不能定义基本类型对象,为了能将基本类型作为对象进行处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,如int型数值的包装Integer、boolean型数值的包装类Boolean等、这样便可以把这些基本类型转化为对象来处理了。需要说明的是,Java是可以直接处理基本类型的,但有些情况下需要将其作为对象来处理,这时就需要将其转化为包装类了。Integerjava.lang包中
2021-06-01 20:22:46
112
原创 Java笔记-隐藏与封装
隐藏与封装理解封装它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法对内部信息的操作和访问。封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。就像Person对象类的age变量。只能随着时间的流逝而增长,通常不能随意修改age。对一个类或对象实现良好的封装,可以实现一下目的。隐藏类的实现细节让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制成员变量的不合
2021-06-01 20:21:39
247
原创 Java笔记-面向对象(上)
面向对象(上)Java是面向对象的程序设计语言,Java语言提供了定义类、成员变量、方法等最基本的功能。类可被认为是一种自定义的数据类型,可以使用类来定义变量,所用使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一对象的共同特征,而对象则是类的具体存在,Java程序使用类的构造器来创建该类的对象。这里关于什么是面向对象?我看书看了好长也没看懂,后面看视频里面的讲解让我稍微有所体会:辩证地思考:拿面向过程来比较,像之前所学过的C语言,它就是一门面向过程的语言,要想实现某些功能
2021-06-01 20:20:51
131
原创 深入数组(引用类型)
数组类型数组:java的数组必须先初始化,然后才可以使用,所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。数组的初始化:静态初始化、动态初始化静态初始化:初始化时程序员显式指定每个数组元素的初始值,由系统决定数组长度。实例:int [ ] a ; //定义了一个int类型的数组,数组名为aa=new int [ ] {5,6,8,20}; //使用静态初始化,初始化数组时只指定数组元素的初始值,不指定数组长度实例2:Object b;
2021-04-06 20:38:19
529
原创 Java笔记-数组类型
数组类型数组:java的数组必须先初始化,然后才可以使用,所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。数组的初始化:静态初始化、动态初始化静态初始化:初始化时程序员显式指定每个数组元素的初始值,由系统决定数组长度。实例:int [ ] a ; //定义了一个int类型的数组,数组名为aa=new int [ ] {5,6,8,20}; //使用静态初始化,初始化数组时只指定数组元素的初始值,不指定数组长度实例2:Object b;
2021-03-29 21:02:18
235
原创 Java笔记-流程控制 分支、循环
流程控制 分支、循环流程控制:分支结构、循环结构。if条件控制:1.if(){}2.if(){}else{}3.if(){}else if(){}…else{}括号内只能是逻辑表达式,返回值为true/ flaseif、else、else if都紧跟接下来的一条语句。使用if else语句时一定要先处理范围小的情况。switch条件控制:语法格式如下:switch(expression){case condition1{statement;break;
2021-03-29 20:27:12
119
原创 Java笔记-运算符
运算符算数运算符:+、-、*、/、%、 以上为二元运算符+可理解为加法的运算符、也可以理解为字符串的连接符号。-可理解为减法运算符、也可理解为取负值运算符++ – 一元运算符a++和a–的区别:a++:先将a对象取出 再自增1;++a:先将a自增1,然后在取出a对象。赋值运算符:从右向左的结合性。位运算符:常用于布尔类型& 、&&、 |、 ~、《 、》、(异或)&与运算|或运算~非运算 一元运算符 取反的意思(包括符号位)
2021-03-29 20:26:04
136
原创 Java笔记-基本数据类型
基本数据类型基本数据类型:整型:byte 1字节、short 2字节、int 4字节、long 8字节;浮点:float 4字节 (f/F)、double 8字节;字符:char 2字节; 分为Unicode字符和转义字符。布尔:boolean (true/false);转义字符:\n 换行\t 制表\b 退格\r 回车’ 单引号\ 反斜杠\“双引号intvar定义局部变量:变量类型会由编译器自动推断,且使用时要赋初值。数据类型转换:自动转换和强制转换自动转换:
2021-03-29 20:24:19
127
原创 游戏代码-LOL卡萨丁斩杀伤害计算器
游戏代码-LOL卡萨丁斩杀伤害计算器半夜数不着了 突发奇想,想算一下这几天LOL我比较爱玩的卡萨丁这个英雄的伤害数值,鉴于没有能计算斩杀线的软件,我正好可以利用我现在所学的C语言稿一个出来玩玩 ,还真别说,写出来感觉很有意思!PS:由于不太了解联盟的魔抗减伤机制,我就没加入魔抗的减免伤害计算,这个应用起来可能要自己在游戏过程中感受一下了;另外我没加入普通攻击和巫妖之祸的效果伤害,有点漏洞,但是我感觉自己玩着还挺舒服的,哈哈哈#include <stdio.h>struct funct
2021-01-20 04:41:40
1019
2
原创 选择排序和冒泡排序
选择排序选择排序的思想:将无序列的数列中最小的元素放在第一位,再继续将除了之前被放进去过的元素之外的其他元素中选出最小的放到第二位。文字语言来叙述算法,较为繁琐且无力,接下来图均以14 7 23 31 40 56 78 9 2为输出数列//可以把红色的线想象成一堵墙,每轮排序不需要考虑红墙往左的元素#include <stdio.h>#define N 9int main(){ int a[N]; int i,j; int k,t; for(i=0;i<N-1;
2021-01-10 11:40:39
122
原创 结构体例题(C语言)
1.计算职工工资 (25分)给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3zhao
2021-01-09 10:40:12
6676
1
原创 递归函数例题(题目来源来自PTA)
1.阶乘n#include <stdio.h>long fac(int n){ long f; if(n==0) f=1; else f=n*fac(n-1); return (f);}main(){ int n; long y; printf("\ninput a ieteger number:\n" ); scanf("%d",&n) ; if (n<0) printf("data error\n"); else { y=fac(n);
2021-01-08 20:47:24
1327
原创 递归函数C语言
递归函数C语言递归函数,是函数的一种,其最核心的一句话概括起来就是我引用我自己,没错,翻来覆去就是在玩自己。递归函数在本质上可以理解为是一种循环的实现,同样也可以有控制条件和循环语句,相比于循环的单独使用,递归函数的调用显得更加灵活、便捷。在解决面临处理较频繁滴运行同种循环的时候,递归函数就大展神通了。1.说到递归数列,不得不提到著名的斐波那契数列,1、1、2、3、5、8、13…就是后面的项等于前两项的和。话不多说,上代码。#include <stdio.h>int fei(i
2021-01-08 00:17:21
296
原创 PTA6-1 鸡兔同笼问题 (20分)
6-1 鸡兔同笼问题 (20分)孙子算经》记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”函数原型int ChickenRabbit(int *chicken, int *rabbit, int head, int foot);说明:head 和 foot 是头和脚的数量,chicken 和 rabbit 是指示鸡和兔数量的指针。若问题有解,则将鸡和兔的数量保存到 chicken 和 rabbit 所指示的变量中,函数值为1(真);否则不改变 chicken 和 rabbit 所指
2020-12-21 23:15:52
9513
3
原创 数组
数组(上)数组其实由数据类型相同的一系列元素组成的集合。数组内容可以有很多,数组可以储存一组整数、也可以储存一组字符串…使用数组是,同样需要声明类型和元素个数例如:int a[100];//这里的a 是数组名称,int表示数组里的数据类型是整数,100表示元素个数为100.这里需要注意一个误区(也是之前困扰本小白很久的问题),就是数组是从a[0]开始一直到a[99],a[100]是没有值的。数组的初始化main(){int a[6]={5,4,6,3,1,5};//数组中的元素需
2020-12-20 23:24:21
175
原创 printf()函数的转换说明修饰符说明
printf()函数的转换说明修饰符说明应用格式printf("//数据类型的转化说明",//待打印说明);转化说明及打印的输出结果(表格)转化说明符输出含义及结果% a浮点数、十六进制数和p计数法(这个暂时我也不知道什么意思)%A浮点数、十六进制和p计数法%c单个字符%d有符号十进制整数%e浮点数、e计数法%E浮点数、e计数法%f浮点数、十进制计数法%g根据值的不同,自动选择%f或者%e%i有符号十进制整数(
2020-12-18 13:46:08
456
原创 2020-12-18《皇家邮电小白的第一篇博客》
# 《皇家邮电小白的第一篇博客》 ————写给现在刚入编程界的我和未来的我以及同为 小白的各位未来程序猿们我写博客的初心是为了督促自己的学习,我想一种写博客的方式讲述自己学习过程来提高自己对于编程的理解,同时希望N年后的我,能将自己提高到更高的水平,能够在未来的时区里帮助到和现在的我有相同处境的小白们。 正所谓不忘初心 ,方得始终。我干饭王的flag的就此立下了!大一上半学期的荒废让我在代码的学习世界...
2020-12-18 12:47:03
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人