- 博客(21)
- 收藏
- 关注
原创 游戏编程模式——观察者模式
游戏编程模式——观察者模式文章目录游戏编程模式——观察者模式概述类图代码实现被观察对象——Subject物理系统类 Physics观察者抽象类 Observer成就Achievements实体类(Entity)监听事件 (Event)main方法概述 观察者模式是我们在游戏中常用到的一种设计模式,比方说在UI系统中,我们消耗了金币,要更新当前UI界面上所有和金币相关的元素,如果UI上只有一个修改项还好,但当修改的元素过多时,一个个修改就会很麻烦,也容易遗漏,而且代码耦合性也很高,通常我们可以用观察
2021-02-04 15:27:53 306
原创 算法导论4.1
4.1-1返回由最大负数组成的单元素子数组4.1-2代码如下:#include<iostream>using namespace std;int main() { int a[16] = { 13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7 }; int n = 16; int max_sum = 0, max_l...
2020-01-07 12:39:12 403
原创 归并排序
归并排序时间复杂度:O(nlogn) (稳定)归并排序体现了简单的分治法思想,思路如下将数组均分为两组[left,mid],[mid+1,right]对两组分别进行递归排序合并两组数组为一组[left,right]函数如下:void mergeSort(int* a, int left, int right) { if (left < right) { ...
2019-11-24 14:46:18 173
原创 时间复杂度为n^2的排序
时间复杂度为n^2的排序冒泡排序和选择排序的共同点:每次都是在找剩下元素中最小(大)的元素不同点:冒泡排序存在多次交换,而选择排序每次只存在一次交换序号#include<iostream>using namespace std;void Insert_sort(int* a, int length);void Select_sort(int* a, int length...
2019-11-24 10:05:15 592
原创 LeetCode 2.两数相加 C++
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> ...
2019-11-22 10:39:55 113
原创 C++ 关于const引用的测试
C++ 关于const引用的测试 今天学习了《C++ primer》第五版中的const相关内容,书中关于const的部分内容如下:由书中内容(P55~P56)可知,const引用有如下几种常见例子:第一种:int i=10;const int &r1=i; //输出r1=10i=20;cout<<r1; //输出r1=20此时const引用r1...
2019-11-15 11:57:59 111
原创 Java命令行参数练习
Java命令行参数 在Java中,每一个Java程序都有一个带String arg[]参数的main方法。这个参数表明main方法将接收一个字符串数组,也就是命令行参数。示例:ArgsDemo.javapublic class ArgsDemo { public static void main(String[] args) { // TODO Auto-generated...
2019-07-26 16:45:55 296
原创 Oracle Sql语句练习
连接数据库: sqlplus/nolog连接管理员: conn system/ok;目的:有dba权限可以创建用户通过管理员创建用户: create user haha identified by ok; identified by :指定用户密码连接用户 haha:conn haha/ok; (...
2019-06-29 19:02:18 531
原创 MyBatis练习
MyBatis练习1. 前置先建立一个就Java项目,新建一个lib文件夹用于放置jar包,本次练习只需要导入mybatis包中的mybatis.jar+ojbc6.jar包,鼠标右键将两个包bulid path构建包相对路径。2. db.properties的配置1. 在src文件夹下新建一个config包,用于放置配置文件2. 在config包下创建File文件,命名为db.pro...
2019-06-29 03:44:01 416
原创 Java的数组拷贝以及对象数组的初始化
前两天读Java核心卷的时候看到以下一个例子 基础是关于Java里面的数组拷贝,在Java里面的数组有两种复制方式,一种是下面例子中的直接赋值相等,此时staff数组与managers数组引用的是同一个数组,修改staff数组也就等同于修改managers数组。此时的拷贝相当于地址传递。 第二种是值传递,即只将对象数组的内容复制另一份给第二个数组。此时需要Arrays类的copyo...
2019-04-23 02:17:50 416
原创 JavaDoc文档注释
eclipse的快捷键:Alt+shift+J用法:1.直接敲快捷键自动生成类的注释 2.鼠标光标移到方法、变量名上敲快捷键,生成对应注释生成注释文档方法:参考网址:https://jingyan.baidu.com/article/dca1fa6f4d3d7ff1a4405239.html...
2019-04-19 21:43:15 103
原创 编译原理实验3 词法分析器DFA实现
最近重新学习了Java,虽然才看到核心卷的继承篇,但是感觉Java的封装与复用十分便利,于是准备改用Java进行编译原理实验的开发。实验要求:实验三:词法分析器2—自动机方法实验目的: 通过编写一个扫描器(词法分析器),掌握词法分析器的构造方法之一: 自动机方法(模拟DFA法)。实验要求:1、本词法分析器的任务:(1)进行C语言子集LC程序的词法分析,C...
2019-04-19 02:57:08 6437 1
转载 C++ int型转换成字符串(不用to_string()函数)
今天写一道题目的时候发现to_string()函数是c11的版本,在老的编译器、oj平台无法通过,查到除了tostring 在老的版本中有很多其他的方法,这里简单记下方便以后使用查询: (1)利用stringstream:使用stringstream的时候要注意加#include"sstream"。比如说我要把int类型的23转为string类型,那么我可以这样实现: i...
2018-12-03 23:43:13 1012
转载 C++如何保留2位小数输出
C++如何保留2位小数输出 cout<<setiosflags(ios::fixed)<<setprecision(2);//需要头文件#include <iomanip>然后再输出实数类型变量即可以保留2位小数输出了,当然你要保留三位小数,setprecision(3)就行。setprecision是指设置输出精度,当没有cout<<setio...
2018-03-08 23:32:02 5477 1
原创 树的创建及层序先中后序遍历
#include#include"Queue.h"typedef BinTree Element; //定义队列元素类型typedef int ElementType;typedef struct TNode *BinTree;struct TNode {ElementType data;BinTree left
2017-11-25 18:56:59 206
原创 PTA 03-树2 List Leaves
03-树2 List Leaves(25 分)Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. F
2017-11-17 21:22:01 184
原创 PTA 两个有序链表序列的合并
02-线性结构1 两个有序链表序列的合并(15 分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Dat
2017-11-15 22:16:48 1865
原创 顺序队列的实现
#include#includetypedef int ElementType; //定义队列元素类型struct Queue{ ElementType *Data; //数据数组int Front, Rear; //队列头、尾指
2017-11-10 22:03:02 186
原创 链式堆栈
#include#includetypedef struct SNode * Pointer;struct SNode {int data;Pointer next;};Pointer CreateStack();Pointer Push(int x, Pointer S);int IsEmpty(Pointer S);int Pop(Pointer S);
2017-11-02 20:21:18 175
原创 顺序堆栈(数组)
#include#includetypedef struct Stack * SNode;struct Stack{int *Data; //储存数据的数组int Top; //指针当前停留位置int MaxSize; //数组最大值};SNode CreateStack(int MaxSize); /
2017-11-01 15:00:08 211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人