- 博客(23)
- 收藏
- 关注
原创 Java排序(七大排序合集)
排序是算法中有着很重要的地位。它会涉及到很多方面的知识,不仅仅是算法相关的知识,还有很多很数据结构相关的知识,所以了解排序,对于我们学习算法和数据结构都是很有帮助的。其中常见的排序有其中排序方法,分别为冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序,本文则是围绕着着其中排序方法进行讲解。
2022-04-30 13:45:02
6272
1
原创 Java快速排序
快速排序是排序算法中很重要,而且也是使用很广泛的一种排序算法。它的思想也归并排序有点类似,都是需要分区,并对每个分区进行排序,然后对整个分区进行排序。
2022-04-23 13:40:47
1412
原创 Java归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。
2022-04-19 16:46:20
151
原创 Java堆排序
堆排序,顾名思义,就是要用到堆的知识。其基本的原理也就是选择排序,知识不再使用遍历的方式查找无序区间的最大数,而是用堆来来选择无序区间中的最大值。但是需要注意的是,排升序需要用到最大堆,排降序需要用到最小堆。
2022-04-18 17:17:54
278
原创 Java希尔排序
希尔排序(Shellsort)又称缩小增量法。它的思想和插入排序的思想有一定的关联。插入排序是将整个数组看成一个整体,而希尔排序是将整个数组划分为几大块,先每块分别进行插入排序,再将几个大块拆分为更多的小块,并继续上述的操作,直到拆分到每块都只有一个元素,此时整个数组则排序完成。
2022-04-17 15:15:26
264
原创 Java插入排序
插入排序是排序算法中稳定的排序算法,它不会改变相同数字之间的相对位置,而且这种排序算法, 和选择排序有点类似,若已理解了选择排序,那插入排序的理解会变得相对简单。插入排序的主要思想,是将无序区间里的数依次插入到有序区间里的对应位置,并不能改变有序区间的有序性。
2022-04-16 23:01:16
655
原创 Java选择排序
选择排序(SelectSort),顾名思义,就是每次遍历的时候,都选择一个最小(大)的数进行排序,直到此数排到相应的位置,结束此数的排序,再选除此数外最小(大)的数进行排序。
2022-04-12 20:55:49
339
原创 Java冒泡排序
Java冒泡排序排序过程图排序思想排序代码代码改进性能分析冒泡排序(Bubble Sort)因其易于理解,作为不少初学者学习到的第一个的排序算法。冒泡排序之所以叫为冒泡,是因为其想泡泡一样,一步步地将大的泡泡向上冒出,在数据中表现则为将较大的数字一步步交换到无序空间的后面。排序过程图排序思想1.依次比较每两个相邻的数的大小,将较大的数交换到后面。2.当第一次整个数据比较和交换完成后,整个数组中最大的数字则被排在数组的最后。3.此时,已经将一个数排到了其相应的位置,不需要再移动了。4.再次遍
2022-04-12 10:54:54
353
原创 Java的类与对象
Java的类与对象1.有关于类和对象的初步认知1.1.类1.2.类的实例化1.3.类的成员1.3.1.属性1.3.2.方法1.3.3.static关键字2.封装2.1.private实现封装2.2.getter和setter方法2.3.构造方法2.4.this关键字3.代码块3.1.普通代码块3.2.构造代码块3.3.静态代码块4.toString方法5.匿名对象1.有关于类和对象的初步认知Java语言是一种面向对象的语言,它关注的是对象,即将一件事情拆分成不同的对象,通过对象间的相互调用来实现我们的目
2022-01-12 17:11:31
115
原创 汉若塔问题详解
汉若塔问题详解题目找规律思路函数思路代码题目汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。找规律思路设有三根柱子,分别命名为A,B和C,有n个圆盘,圆盘开始时都在A上,目标为将所有的圆盘从A搬到C上,为了找规律方便,我们先从只有一个圆
2021-11-25 11:43:59
552
原创 C语言操作链表详解
C语言操作链表详解链表的概念链表的操作将数据抽象成结构体创建和初始化链表输出链表中存储的数据查找链表中指定位置中存储的数据在链表中插入数据删除指定位置的数据修改制定位置的数据逆序输出链表存储的数据执行结果在我们学习C语言的前期,每当我们要进行大量数据的读写时,我们都会使用顺序表,也就数组,它的优点很明显,增删读写操作很简单,易于上手。但当我们对数据的存储理解更加深刻时,我们便会逐渐意识到顺序表也不是万能的,它也有它的缺点:顺序表在内存中的存储时,占用一大块连续的空间,但我们实际在使用时,可能并没有那么大的
2021-10-28 18:30:48
2411
原创 扫雷游戏程序的编写
扫雷游戏程序的编写大概思路功能函数显示目录的函数Menu埋下地雷的函数SetMines显示面板的函数ShowBoard计算周围地雷数量的函数CountMines执行游戏相关命令的函数Game主调函数main合集clear_mine.h文件clear_mine.c文件main.c文件在电脑还是Windows xp和Windows 7的时代,想必很多人都一定会接触到一款很经典的游戏,扫雷游戏。简单的界面,易上手的难度,不用上网即可游玩的模式,让它大受欢迎。虽然现在Windows 10系统上已不再默认安装扫雷游
2021-10-27 16:43:48
1488
原创 三子棋程序的编写
三子棋程序的编写大致框架功能函数显示目录的函数Menu显示棋盘的函数ShowBoard执行玩家输入操作的函数PlayerMove执行电脑输入操作的函数ComputerMove判断是否胜利的函数IsEnd初始化数据的函数InitBoard执行游戏的函数Game主调函数main函数合集三子棋是我们每个人在小的时候,和朋友休闲娱乐时,必不可少的一项,本文将会介绍三子棋代码详细的编写过程,但因博主水平有限,暂时还无法实现通过鼠标点击的方式来实现,则暂时使用键盘输入的方式,来实现下棋点位的确定。大致框架在正式写
2021-10-25 19:11:38
197
原创 数据类型在内存中的存储
数据类型在内存中的存储数据类型简介数据类型可大致分为以下四种:整形常见的的整形为int ,char,short,long,unsighed,sighed,及由这些类型组合构成的复杂类型,如unsigned char,signed long [int],unsigned int等等。浮点数浮点数分为单精度浮点数float和双精度浮点数double。构造类型构造类型包括数组类型,结构体类型struct,枚举类型enum,联合类型onion。指针类型常见的指针类型有int *,char *,f
2021-10-18 23:00:32
508
原创 2021-05-26
函数库函数C语言中,为了支持可移植性和提高程序效率,在基础库中提供了一系列的类似的库函数,方便程序员进行软件开发。注意:1.查找函数和库函数,可以浏览www.cplusplus.com。2.学习过程中不需要刻意去记忆,需要时再去查找。自定义函数自定义函数和库函数一样,有函数名,返回值类型和函数参数,不同点是这些函数都是由我们自己定义。组成:ret_type fun_name(paral,*){ Statement;//语句项}//ret_type:返回值类型//fun_name:
2021-05-28 22:42:23
1642
5
原创 2021-05-18
目录分支语句if语句switch语句循环语句while语句for语句do while语句分支语句if语句语法结构://单分支if (表达式){ 语句;}if (表达式){ 语句1;}else{ 语句2;}//多分支if (表达式1){ 语句1;}else if (表达式2){ 语句2;}else{ 语句3;}注意:else和最近的if匹配。 If后尽量带上花括号,使代码的逻辑更加清楚;若不带花括号,if后只能
2021-05-18 21:33:15
159
8
原创 2021-05-06
我是一名来自西安科技大学的学生,平时喜欢打打羽毛球,看看电影,至于我想编程的原因,更多是因为个人的爱好吧,平时对电脑和手机上的各种应用软件和系统很感兴趣,好奇它们是如何按照我们的操作来执行命令,完成各种各样的任务,来服务于我们每一个人的生活,服务于这个社会。 就目前我的情况,短期的目标是希望自己可以完成一些小的操作指令系统,例如简略的图书馆的书籍检索系统,通过对编程的了解和深入,逐渐完成更大更复杂的操作指令系统。 以后打算每天多去了解了解关于编程的一些小技巧和小...
2021-05-06 13:33:03
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人