自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 MySQL数据库基础

操作数据库:– 显示 show databases;– 创建 create database xxx;– 使用 use xxx;– 删除 drop database xxx;常用数据类型:INT:整型浮点数类型 VARCHAR(SIZE):字符串类型 TIMESTAMP:日期类型操作表:– 查看 show 表;– 创建 create table 表名( 字段1 类型1, 字段2 类型2, … );– 删除 drop talbe 表名;

2024-03-11 10:00:00 1018

原创 二叉搜索树(Java)

【代码】二叉搜索树(Java)

2024-03-10 17:58:15 360

原创 常见排序算法的实现(Java)

基数排序是一种稳定的排序算法,时间复杂度为O(d * (n + r)),其中d是最大数的位数,n是待排序数组的长度,r是桶的数量(在基数排序中通常为10)。堆排序是不稳定的排序算法。在待排序序列中找到最小(或最大)的元素,将其放到已排序序列的末尾,然后再从剩余未排序的元素中找到最小(或最大)的元素,放到已排序序列的末尾,重复此过程,直到所有元素都排序完毕。选择一个枢轴元素,将待排序序列分成两个子序列,一个子序列的元素都比枢轴元素小,另一个子序列的元素都比枢轴元素大,然后对两个子序列分别进行快速排序。

2024-03-05 20:19:05 999

原创 PriorityQueue的使用(Java)

此处只是列出了PriorityQueue中常见的几种构造方式构造器功能介绍创建一个空的优先级队列,默认容量是11创建一个初始容量为initialCapacity的优先级队列,注意:initialCapacity不能小于1,否则会抛IllegalArgumentException异常用一个集合来创建优先级队列// 创建一个空的优先级队列,底层默认容量是11// 创建一个空的优先级队列,底层的容量为initialCapacity// 用ArrayList对象来构造一个优先级队列的对象。

2024-03-05 00:08:56 1114

原创 优先级队列(Java )

kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >= K2i+2) i = 0,1,2…将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。杂度分析: 最坏的情况 即图示的情况, 从根一路比较到叶子,比较的次数为完全二叉树的高度,即时间复杂度为 O(log N)如果i为0,则i表示的节点为根节点,否则i节点的双亲节点为 (i - 1)/2。,因为为了能够还原二叉树,

2024-03-04 23:39:57 749

原创 二叉树(Java)

通过对二叉树的深入学习,我们可以理解其性质、存储方式以及基本操作,从而在实际问题中灵活运用二叉树来解决各种问题。在实际应用中,我们还需要根据具体问题选择合适的二叉树类型(如满二叉树、完全二叉树、平衡二叉树等)以及相应的存储方式(顺序存储或链式存储)。此外,二叉树的遍历是二叉树操作的基础,需要熟练掌握前序、中序、后序和层序遍历的方法。通过不断练习和实践,我们可以更好地应用二叉树来解决实际问题。

2024-03-01 21:16:51 951

原创 队列模拟实现(Java)

只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线 性表,队列具有先进先出FIFO(FirstIn First Out):进行删除操作的一端称为队头(Head/Front)常见的队列结构空间类型有两种:顺序结构 和 链式结构。:进行插入操作的一端称为队尾(Tail/Rear)

2024-02-27 21:24:40 379

原创 LinkedList的使用(Java)

LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。方法解释尾插 e将 e 插入到 index 位置尾插 c 中的元素删除 index 位置元素删除遇到的第一个 o获取下标 index 位置元素将下标 index 位置元素设置为 element清空判断 o 是否在线性表中返回第一个 o 所在下标返回最后一个 o 的下标截取部分 list。

2024-02-27 00:47:05 1004

原创 栈的模拟实现(Java)

一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。:栈的插入操作叫做 进栈 / 压栈 / 入栈 ,入数据在栈顶。:栈的删除操作叫做出栈。

2023-10-11 17:02:47 162

原创 简单的洗牌算法(Java)

通过这个纸牌游戏的实现,我们可以学习到Java中类与对象的设计与使用,以及集合类的使用。购买纸牌、洗牌和揭牌等步骤涉及到了对象的创建和属性的操作,通过List集合可以方便地存储和管理多个纸牌对象。同时,通过使用Random类的nextInt()方法来实现随机交换纸牌的位置,实现洗牌的效果。最后,通过将揭牌结果存储在一个包含多个List集合的集合中,可以方便地得到每个玩家手中的纸牌,便于后续游戏的进行。

2023-09-12 21:47:21 347

原创 String类的常用方法(Java)

与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。注意事项: 由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串.可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。从一个完整的字符串之中截取出部分内容。注意:上述方法都是实例方法。字典序:字符大小的顺序。

2023-09-06 22:47:41 359 3

原创 类和对象(Java)

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好类就是一类对象的统称。对象就是这一类具体化的一个实例。// 创建类field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法。

2023-09-05 23:22:57 127

原创 初识Java

Java是一种高级的面向对象的程序设计语言,是一种优秀的程序设计语言,它有令人赏心悦目的语法和易于理解的语义。

2023-09-05 22:30:45 105

原创 Arraylist的使用(Java)

ArrayList是Java中常用的动态数组类,它提供了一系列方便的方法来操作数组。与传统的数组相比,ArrayList的长度是可变的,可以根据需要动态调整大小。

2023-09-05 14:23:57 225

原创 通讯录(C语言)

想要用C语言实现通讯录的功能,基本上涵概了C语言入门的一些知识运用,如:指针、结构体、文件操作、动态内存管理等相关的知识;1.添加联系人信息;2.删除联系人信息;3.查找联系人信息;4.修改联系人信息;5.显示联系人信息;6.排序联系人信息;7.保存联系人信息;8.退出通讯录;

2023-08-26 19:26:33 523

原创 希尔排序(C语言)

2.对这些分组进行插入排序,从第二个元素开始把它与前一个元素比较,如果比前一个元素小,则交换这两个元素,再与前面的元素比较,直到已排序的元素比当前元素小或与第一个元素比较完毕为止。3、对于堆排序和快速排序,从数据结构的角度来说,基于交换排序的索引很难被维护并活用,而希尔排序正好是借助了交换排序的思想,来实现基于存储的更加紧凑数据设计的升级。3、希尔排序不稳定,也就是说,如果关键字相等的两个记录在排序前后的相对位置发生改变,那么这种排序算法就是不稳定的。希尔排序是插入排序的一种更高效的改进版本。

2023-06-30 16:25:12 2071 1

原创 学生成绩管理系统(C语言)

以上代码是一个基于C语言的学生成绩管理系统的实现,它可以让用户对学生的相关信息进行新增、删除、修改和查询等操作。该系统的主要功能模块包括登录、菜单选择、添加学生、删除学生、修改学生信息、查询学生信息以及退出系统等,用户可以通过选择不同的菜单选项,进入系统的不同功能模块进行操作。

2023-06-09 18:33:42 10504 27

原创 浮点数在内存中的储存(C语言)

浮点数是计算机科学中的一种数据类型,用于存储具有小数部分的数字。在C语言中,浮点数类型用float和double表示。float类型使用4个字节(32位)储存,而double类型使用8个字节(64位)储存。本文介绍了浮点数在内存中的储存方式,以IEEE 754标准为依据。单精度浮点数和双精度浮点数分别使用4个字节(32位)和8个字节(64位)进行储存,分成符号位S、指数位E和小数位M。S表示正负,E用于储存指数并使用偏移码,M储存浮点数的小数部分。对于C语言程序员来说,了解浮点数在内存中的储存是非常重要的。

2023-06-01 23:33:31 2660 10

原创 扫雷小游戏(C语言)

扫雷游戏是一种经典的休闲益智游戏,也是操作系统中的经典小游戏之一。该游戏在游戏过程中需要玩家排查地图上的雷区,避免被雷炸死,同时找出所有的地雷。下面我们来分析该游戏的代码实现。

2023-05-27 14:24:16 350 5

原创 三子棋的简单实现(C语言)

/初始化棋盘 void InitBoard(char board [ ROW ] [ COL ] , int row , int col) {int i = 0;for(i = 0;i < ROW;for(j = 0;j < COL;j ++) {} } } //打印棋盘 void DisplayBoard(char board [ ROW ] [ COL ] , int row , int col) {int i = 0;for(i = 0;

2023-05-08 11:30:55 163 7

原创 报数游戏(C语言)

给定一个圆圈,从圆圈中随机选定第一个人,并从他开始按顺时针方向进行报数,数到3的人退出圆圈,后面的人再接着从1开始报数,继续按顺时针方向数数,数到3的人退出圆圈……直到圆圈中只剩下一个人为止。在循环中,每当有人退出圈子时,将他的位置用-1标记,用一个计数器cnt统计报数,当cnt=3时,将当前指针指向的人的位置用-1标记,并将计数器置为0。4.每次循环结束后,判断圈子中标记为-1的人数是否为n-1,如果是,则跳出循环。最后,圈子中标记不为-1的那个位置就是留下来的那个人的位置,将其对应的编号输出。

2023-05-06 10:00:00 1510 2

原创 汉诺塔递归算法(C语言)

汉诺塔问题是一个经典的数学谜题,它是在印度流传下来的,传说中有一个 temple 上有三个塔座,塔座上有64个圆盘,从小到大依次放在一个底座上。玩法是将 towers 中的圆盘移到目标座,借助辅助座,搬动规则是一次只能移动一个圆盘,且在移动过程中,大盘不能放在小盘上。这个过程可以视为一个递归问题,即问题的求解可以由求解子问题来完成。将 n-1 个盘子从源柱移动到辅助柱上,然后把第 n 个盘子移动到目的柱上,最后再将 n-1。个盘子从辅助柱移动到目的柱上,每次移动都可以按照相同的方式递归实现。

2023-05-04 16:14:41 626

原创 求最大公约数(C语言)

2、如果a不能被b整除,则gcd(a,b) = gcd(b,a%b),令c=a%b,带入第一步,得gcd(a,b) = gcd(b,c);以上介绍了辗转相除法、更相减损法和质因数分解法三种常见的求解最大公约数的方法,它们各有优缺点,适用于不同的场景。3、质因数分解法的实现也相对简单,但是效率较较低,适用于数据规模较小或需要分解质因数的情况。2、更相减损法的理解较为容易,但是递归次数较多,效率略低,适用于数据规模较小的情况。1、辗转相除法的时间复杂度低,实现简单,适用于大多数情况,是一种较为通用的方法。

2023-04-19 22:37:04 973 1

原创 二分查找(C语言)

二分查找,又称为折半查找,是一种在有序数组中查找指定目标的搜索算法。该算法通过将目标值与数组中间的元素进行比较来逐步缩小搜索范围,直到找到目标元素或发现其不存在为止。

2023-04-17 21:19:39 8357 1

原创 初识指针(C语言)

指针是内存中一个最小单元的编号,也就是地址平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量指针就是地址,口语中说的指针通常指的是指针变量。那么可以这样理解1.内存指针变量我们可以通过&(取地址操作符)取出变量的内存起始地址,把地址可以存放到一个变量中,这个变量就是指针变量总结:指针变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)。对于32位的机器,假设有32根地址线,那么假设每根地址线在寻址的时候产生高电平(高电压)和低电平(低电压)就是(1或者0);

2023-04-14 19:01:45 84 1

原创 插入排序(C语言)

如果是进行相对有序的数组,效率会非常高。不占额外空间,是一种稳定的算法。时间复杂度高,遇到数据过多的情况下不是很适用。输入10个数字并将其从小到大排。

2023-04-11 21:39:32 2567 3

原创 选择排序(C语言)

2.再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。1.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。3.重复第2步,直到所有元素均排序完毕。输入10个数字并将其从小到大排。

2023-04-09 19:55:44 126 4

原创 冒泡排序(C语言)

对数组进行遍历,每次对相邻两个进行比较大小,若大的数值在前面则交换位置(升序),完成一趟遍历后数组中最大的数值到了数组的末尾位置,再对前面n-1个数值进行相同的遍历,一共完成n-1次遍历就实现了排序完成。如果一次遍历,没有数据进行交换,则证明数组已经排好了顺序,就不需要继续遍历。:(Bubble sort)是一种基础的交换排序。输入10个数字并将其从小到大排。

2023-04-08 13:45:40 190 9

原创 C语言练习题:找鞍点

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。

2023-04-04 22:22:35 315 6

原创 本题要求提取一个字符串中的所有数字字符(‘0‘……‘9‘),将其转换为一个整数输出。

其实这道题目并没有那么的难,很基础。但是由于我的马虎,没有按照题目的要求来写,导致我耗费了一定的时间。我一开始没有仔细看题目,然后第一想法就是找到字符串中的数字字符然后直接打印出来,代码如下。本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。所以说各位老铁们还是要认真读题,不要像我一样出这样的低级错误。今天遇到了一道题,我觉得很有意义,所以写下来记录一下。之后提交的时候才发现需要将其转换为一个整数输出。最后,做一个小小的总结。

2023-04-02 00:32:57 3507 13

原创 萌新上路 -- C语言

这是我写博客的第一天,也将是我正式开始学习编程的第一天。刚上大一的时候我还什么都不知道,然后在同学的带领下在b站上学习了一段时间,但是感觉自己还有太多的东西不懂,对很多知识点都有点模糊。现在先在这里定下一个小目标,以后坚持写博客,记录下自己的学习过程和在学习中自己对某块知识点的理解,希望我能在这该努力的年纪加一把劲,在毕业时能拿到一个好的offer。那么,希望看到这篇博客的老铁们,能和我一起成长一起进步,早日能够拿到自己心仪的offer!各位老铁们,大家好呀!

2023-04-01 00:13:22 221 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除