- 博客(30)
- 收藏
- 关注
原创 第一个Servlet程序
Servlet是Tomcat提供给我们使用的一组操作HTTP协议的API它不是我们自己写的一个独立的程序,而是写的一个代码片段,把它插入到tomcat中,让Tomcat来调用执行(framework-框架)
2023-05-29 15:53:23 437
原创 HTML标签的使用2(续上)
在做表格的时候,有些时候会碰到相邻的几行或者是几列,他们的数值是一样的,这样我们就可以将他们通过一些操作合并起来。清空按钮必须放在 form 中. 点击后会将 form 内所有的用户输入内容重置。清空按钮 <input type="reset" value="清空">各种输入控件, 单行文本框, 按钮, 单选框, 复选框.复选框 <input type="checkbox">选择文件 <input type="file">点击选择文件, 会弹出对话框, 选择文件.注意:具有相同的 name 才能多选一。
2023-04-30 10:37:22 407
原创 HTML常见标签用法
说明: 🍔target="_blank" 打开一个新的页面进行访问,当前页面仍在。🍔这个标签可以包万物,包图片,点击图片,跳转至新页面。给要跳转到的位置一个 id ,然后用超链接标签,带个"#",就可以了。thead:表格的头部区域(注意和th区分,范围是比th要大的)<strong></strong>加粗。<ins></ins>下划线。<h1>标题1</h1><h2>标题2</h2><h3>标题3</h3><h4>标题4</h4><h5>标题5</h5><h6>标题6</h6><em></em>倾斜。
2023-04-27 16:58:14 1184
原创 类和对象(中)
目录前言:1. 类的6个默认成员函数编辑2. 构造函数2.1 概念2.2 特性3. 析构函数3.1 概念3.2 特性4. 拷贝构造函数4.1 概念4.2 特征前言:本章内容全是概念理解1. 类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。2. 构造函数2.1 概念:对于以下的日期类:对于D...
2022-05-16 18:33:51 94
原创 类和对象(上)
目录1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1 访问限定符4.2 封装(高内聚,低耦合)5.类的作用域6.类的实例化编辑7.类对象模型7.1 如何计算类对象的大小7.2 类对象的存储方式猜测7.3 结构体内存对齐规则8.this指针8.1 this指针的引出8.2 this指针的特性9.总结1.面向过程和面向对象初步认识1、C语言是面向过程的,关注的是过程,分析出求解问题的步骤.
2022-05-12 22:45:10 102
原创 C++入门三之引用和内联函数
目录1、引用1.1 引用概念1.2 引用特性1.3 常引用1.4 使用场景1.4.1做参数1.4.2做返回值1.5 传值、传引用效率比较1.6 值和引用的作为返回值类型的性能比较1.7 引用和指针的区别2、内联函数2.1 概念2.2 特性3、总结1、引用1.1 引用概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。举个栗子:在外面,别人叫你...
2022-05-11 17:48:44 168
原创 堆的应用之堆排序和TOP-K
前言:本篇主要记录堆排序及TOP-K问题的求解目录前言:1、堆的应用1.1 堆排序1.1.1 向上调整算法建堆的时间复杂度 O(N*logN)1.1.2 向下调整算法建堆的时间复杂度 O(N)1.1.3堆排序1.2 TOP-K问题2、总结1、堆的应用1.1 堆排序堆排序即利用堆的思想来进行排序,总共分为两个步骤:1. 建堆升序:建大堆降序:建小堆建的是大堆还是小堆取决于向上调整和向下调整中的判断语句2. 利用堆删除思想来进行排序建堆...
2022-05-10 16:54:01 592
原创 二叉树的顺序结构中堆的实现
前言:本篇记录二叉树中的堆,堆实现的接口及用堆来进行堆排序目录1、二叉树的顺序结构及实现1.1 二叉树的顺序结构2、堆2.1 堆的概念及结构2.2堆的实现2.2.1向上调整算法2.2.2向下调整算法2.2.3堆的插入2.2.4堆的删除(删除的是堆顶数据)2.2.5完整代码2.2.6用堆实现堆排序3、总结1、二叉树的顺序结构及实现1.1 二叉树的顺序结构普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费...
2022-05-10 11:26:46 138
原创 二叉树-树和二叉树的基本概念
前言:本篇主要记录树和二叉树的基本概念目录1.树概念及结构1.1树的概念1.2 树的相关概念1.3 树的表示1.4 树在实际中的运用(表示文件系统的目录树结构)2.二叉树概念及结构2.1概念2.2现实中的二叉树:2.3 特殊的二叉树:2.4 二叉树的性质2.4.1 5道练习加深领悟2.5 二叉树的存储结构2.5.1 顺序存储2.5.2 链式存储3.总结1.树概念及结构1.1树的概念树是一种非线性的数据结构,它是由n(n&.
2022-05-10 09:50:35 2615 1
原创 C++入门二---深入剖析函数重载
前言:有几个问题:1、为什么C不支持函数重载,C++支持函数重载?2、既然C++可以支持函数重载,那么是如何支持的?3、C能不能调用C++库?C++能不能调用C库?本篇文章详细讲述上面问题1. C++支持函数重载的原因对于本章的理解,得先知道编译链接的基本原理...
2022-05-07 18:20:12 359
原创 深度剖析数据在内存中的存储
1. 数据类型介绍C语言的基本内置类型:char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数类型的意义:1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。2. 如何看待内存空间的视角1.1 类型的基本归类:整形家族:...
2022-05-06 16:18:29 151
原创 C语言文件操作
前言:C语言中相对比较独立的,且比较容易被忽略的一部分内容。之后工作项目用的并不是很频繁,但也得知道。这块内容包含的门道很多,用心感受,会对C语言产生更深的人生。学习这块内容最主要就是记忆,库函数非常之多,并且要多加练习,理解才是最重要的。1. 为什么使用文件我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难
2022-05-03 11:16:36 2647 2
原创 C++入门-1
目录:1. C++关键字2. 命名空间2.1命名冲突2.2命名空间2.3命名空间的访问3. C++输入&输出4. 缺省参数4.1全缺省参数4.2半缺省参数5. 函数重载6.总结前言:C++这门语言,是为了弥补C语言的缺陷而诞生的,对C语言当中的不足进行改善,以方便使用。网传C++很难,那么C++到底难不难?很难。没错,很难。在学习C++过程中,一定要沉...
2022-04-27 20:52:37 744
原创 动态顺序表+OJ
顺序表本质上就是数组,本文简易实现了动态顺序表的增,删,查,改 。关键要学会顺序表实现的思想,顺序表非常的细,要多方面考虑。//顺序表头文件#pragma once#include <stdio.h>#include <assert.h>#include <stdlib.h>//要求:存储的数据从0开始,依次连续存储//顺序表的本质就是数组,可以扩容的数组//#define N 100//typedef struct SeqList/.
2022-04-13 20:44:35 94
原创 C语言实现静态通讯录
//通讯录://1. 可以存放1000个人的信息//2. 人的信息:名字,年龄,电话,住址,性别//3. 增加联系人//4. 删除联系人//5. 查找联系人//6. 修改联系人//7. 排序(名字 / 年龄)1. Contact.h:#pragma once#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>#i.
2022-01-22 21:42:49 467
原创 实现多种数据类型的排序---qsort
一、介绍qsort#include <stdlib.h>//头文件void qsort(void* base,//目标数组名 size_t num,//要排序的元素个数 size_t width,//一个元素的大小 int (*compare)(const void* e1, const void* e2)); compare是一个函数指针,传比较函数的地址,即函数名int compare_int(const void* e1, const void* e2){ //.
2022-01-18 11:54:02 839 1
原创 C语言中有关字符串的库函数(3)
本篇主要介绍3个库函数一、strstr字符串查找二、strtok字符串切割三、strerror返回错误码,打印错误类型四、perror(和strerror功能类似)strstr1.1strstr---查找字符串函数 (在一个字符串里面查找是否包含另一个字符串) 存在返回第一次出现的地址,不存在返回空指针 1.2 char* strstr (const char* , const char*)...
2021-12-25 19:17:09 627
原创 C语言中有关字符串的库函数(2)
有关strcat的补充:不能自己追加自己int main(){ char arr[] = "hello"; strcat(arr, arr); printf("%s\n", arr); return 0;}为什么strcat不能自己追加自己?就上述例子来讲, strcat库函数实现的原理是先找到字符串hello末尾的'\0',然后再将h代替'\0',接着继续追加,但是追加的结束标志是'\0',而源字符串的'\0'已经被替换了,所以程序会崩溃接下来继续介绍其他的库函数:.
2021-12-23 20:30:36 1017
原创 C语言中有关字符串的库函数(1)
1.strlensize_t strlen (const char* str)其中size_t是unsigned int (无符号整形)1)字符串以'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含\0)2)参数指向的字符串必须要以'\0'结束3)注意函数的返回值size_t,是无符号的(易错)4)strlen的使用int main(){ char arr[] = "abc"; unsigned int r...
2021-12-22 20:54:55 650 1
原创 C语言中的static关键字
static关键字有什么作用?在某些具体的应用场景中,我们可能不想让全局变量或者函数跨文件访问,只在本文件内部被访问,相当于维护了我们的代码的安全1.static修饰全局变量static修饰全局变量时,该变量只能在本文件内部被访问,不能被外部其他文件直接访问2.static修饰函数static修饰函数时,该函数只能在本文件内被访问,不能被外部其他文件直接访问(与static修饰全局变量类似)3.static修饰局部变量static修饰局部变量时,更改了局部变量的生命周期,作用域实
2021-12-21 23:14:09 505
原创 函数栈帧的创建与销毁
问题:我们为什么要了解函数栈帧的创建与销毁?走进代码逻辑的底层,了解更深层次的知识,增长见识导入:注意:接下来的讲解中使用的是VS2013,原因是编译器越低级,越容易观察到函数栈帧创建与销毁的过程,编译器越高级,越不容易观察首先介绍一下寄存器,有eax, ebx, ecx, edx, esp, ebpesp, ebp接下来会提及,这两个寄存器存储的是地址,存储的地址是用来维护函数栈帧的1.在内存中地址的从高到低使用的2.这里的esp(栈顶指针...
2021-11-22 20:26:34 466
原创 C语言实现三子棋
三子棋一、操作流程二、代码实现三、总代码展示一、操作流程1.菜单界面选择游戏或者退出游戏2.初始化棋盘3.打印棋盘4.玩家下棋5.电脑下棋6.判断输赢二、代码实现1)选择菜单界面void menu(){ printf("************************\n"); printf("***** 1. play ******\n"); printf("***** 0. exit ******\n"); prin
2021-11-14 22:52:32 82 1
原创 C语言实现初级扫雷
文章目录一、游戏简介二、代码实现1.调用test函数2.打印菜单(menu函数)3.game函数4.初始化(Initmine函数)5.布置雷(SetMine函数)6.排雷(FindMime函数)三、总代码1.game.h2.game.c3.test.c一、游戏简介一款小游戏,一张棋盘(可以自己设计,9*9 , 12*12 , 15*15 都可以 ,或是添加一些自己喜欢的元素)布满许多未知是雷或是安全的格子,输入坐标,若触雷,游戏结束,反之,...
2021-11-14 20:21:28 3326 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人