首页
学习
活动
专区
工具
TVP
发布

为学

专栏作者
49
文章
34534
阅读量
16
订阅数
图的一些操作
图的一些操作 图这一章我一直觉得自己学的不是很好。。。这次就只放代码,不敢多说什么了。 图的基本操作 typedef char VertexType; //顶点类型应由用户定义 typedef int EdgeType; //边上的权值类型应由用户定义 #define MAXVEX 100 typedef struct EdgeNode{ //边表结点 int adjvex; //邻接
李志伟
2019-12-17
3190
选择排序法
因为C中对数组的删除比较麻烦,所以我没有按照《算法图解》中的思路每次选择最小的元素,而是选择了最大的。
李志伟
2019-12-17
3880
判断是否为完全二叉树
判断是否为完全二叉树 题目要求及思路分析 题目:编写算法判别给定二叉树是否为完全二叉树。 —《数据结构习题集(C语言版)》 思路: 使用层序遍历二叉树 若完全二叉树中的某个结点没有左孩子,则其一定没有右孩子 若完全二叉树中的某个结点缺左孩子或右孩子,则其一定没有后继结点 算法实现 1.二叉树及队列的结构体定义 /*-------二叉树的二叉链结点结构定义------*/ #define TElemType char typedef struct BiTNode{
李志伟
2019-12-17
9230
求二叉树两结点最近的共同祖先结点
5.对* p、* q分别调用第4步中的函数,将得到的两个路径栈逆置,在逆置后的栈中出栈顶元素同时进行比较,得到公共祖先结点
李志伟
2019-12-17
1.4K0
二分查找法
最近学校事比较多,自己好久没写过JAVA了,趁着这次开《算法图解》,可以好好的把JAVA基础再过一遍。
李志伟
2019-12-17
3660
二叉树及其四种遍历
本次主要是针对二叉树的基本操作,另外还有二叉树相似的判断和叶子结点的计数,这些方法中都用到了递归。关于结构体的预定义还是会放在之前的博客(数据结构常用于定义总结)中
李志伟
2019-12-17
3110
条件判断字符串(队列实现)
主函数中,我直接将实验数据写在里面了,读者有心的话可以用scanf()接受用户的数据
李志伟
2019-12-17
5460
Java基础---学生成绩操作系统
1. 要求使用HashMap<String,Integer>存储每次考试的成绩(key键为姓名,value为成绩)。
李志伟
2019-12-17
1K0
Java基础笔记整理---【09】面向对象程序设计-上转型对象
1.上转型对象:父类声明,子类实例化的对象叫做上转型对象 2.上转型对象使用规则: 1.上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。 2.上转型对象可以操作子类继承的成员变量,也可以使用子类继承的或重写的方法。 3.如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。因为程序在运行时知道,这个上转对象的实例是子类创建的,只不过损失了一些功能而已。 3.注意事项: 1.可以将上转型对象再强制转换为一个子类对象,此时对象又具备了子类所有属性和功能(即将上转型对象还原为子类对象)。 2.不可以将父类创建的对象赋值给子类声明的对象。
李志伟
2019-12-17
4300
Java基础笔记整理---【08】面向对象程序设计-包、继承、访问权限
3.package 不能以java.开头 4.package: 添加包的规则:公司域名的倒写 + 项目的名字 + 功能名字 注意:不能使用以java.* 开头定义包名 5.Eclipse 快捷键: 1.CTRL + D 删除整行代码 2.CTRL + shift + O 自动引入java引用的java类 3.CTRL + alt + 方向上或者下 向上或者下复制代码块 //CTRL + Y 撤销自己的撤销 6.继承
李志伟
2019-12-17
3160
Java基础笔记整理---【07】面向对象程序设计-类和对象
方法(函数): 返回值 方法名(参数类型 参数名称, ...){ 方法体(代码块) } this指调用的方法中(当前)的变量 类与对象 1.构造方法: 1> 构造对象 构造实例的方法,一个特殊方法,方法名需要与类名相同,并且没有返回值 2> 当在类中创建构造方法后,jvm将不再为类生成生成默认的构造方法。 2.成员变量和局部变量 成员变量:(直接在类中声明的变量) 作用域:在整个类中都有效 初始值:如果未对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值 使用: 1. 如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在同名局部变量 所在方法内暂时失效。 2. 如果需要在局部变量有效的作用域内使用同名的成员变量,则必须使用关键字this来引用成员变量。 局部变量:(在方法内或者代码块内定义的变量、方法的参数) 使用:必须先声明再使用。 3.方法重载: 1> 方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。 2> 方法的返回值类型和参数的名字不参与比较,也就是说如果两个方法的名字相同,即使返回值类型或者是参数的名字不同,也不能称为方法的重载,必须是参数个数或者是参数类型不同。 4.实例变量和类变量 1> 当Java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实例成员变量不会被分配内存。但是,类中的类变量,在该类被加载到内存时,就分配了相应的内存空间。 2> 如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内存空间,而类变量不再重新分配内存,所有的对象共享类变量,即所有的对象的类变量是相同的一处内存空间,类变量的内存空间直到程序退出运行,才释放所占有的内存。 5.实例方法和类方法 1> 当类的字节码文件被加载到内存时。类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是,当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址。也就是说,方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才被取消。 2> 对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出才被取消。
李志伟
2019-12-17
3820
Java基础笔记整理---【06】面向对象程序设计-封装
题目:把大象放到冰箱,需要几个步骤? 面向过程: 关注点是事件 1.把冰箱门打开 2.把大象放到冰箱 3.把冰箱门关上 面向对象:参与活动的对象 1.对参与者进行抽象(属相(成员变量)和功能(方法)) class 冰箱{ void 开门(){ } void 储藏物品(物品 args){ } void 关门(){ } } class 大象{ String name;//大象的属性 float weight;//重量 } class Main{ public static void main(String[] args){ //根据抽象出来的冰箱生产出一个叫 ”装大象的冰箱“的冰箱 冰箱 装大象的冰箱 = new 冰箱(); //根据抽象出来的大象 new 出一个叫”非洲象“的大象 大象 非洲象 = new 大象(); 装大象的冰箱.开门(); 装大象的冰箱.储藏物品(非洲象); 装大象的冰箱.关门(); } } 在编译java文件时当引用的类所在的Java名与类名不同时, 则需要先编译引用的类所在文件
李志伟
2019-12-17
2150
Java基础笔记整理---【04】基本数据类型
基本数据类型 数据分为四大类: 1、整形 byte short int long 2、浮点型 float double 3、字符型 char 4、Boolean类型 只含有两个值 false 和 true 注意:String不为基本数据类型! 数据类型的定义与赋值:
李志伟
2019-12-17
3020
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档