- 博客(11)
- 收藏
- 关注
原创 选择排序Selection sort详细代码
文章目录选择排序介绍动图演示 选择排序介绍 选择排序的核心思想:与数据有序区的最值作比较 时间复杂度:O(n2)O(n^2)O(n2) 空间复杂度:O(1)O(1)O(1) 排序方式:内排序 稳定性:稳定 选择排序算法真的是 “法如其名” ,说白了一字之浅!就是——“选择”。 选择算法的思想就是经典三板斧 “遍历数据,找到最值,然后交换” 动图演示 ...
2022-05-11 10:42:12
260
7
原创 插入排序Insertion sort详细代码
文章目录插入算法介绍 插入算法介绍 插入算法的核心思想:维护一个有序区间 平均时间复杂度:O(n2);最差情况:O(n2);最好情况:O(n) 空间复杂度:O(1) 排序方式:内排序 稳定性:稳定 插入算法应该算得上是最容易理解的算法了,只要是玩过扑克牌的人一眼就能看懂插入排序的思想。 通俗来说就是我有6,7,9,10这四张牌,然后我摸到一张 8 ,最自然也是最简单的方法就是在已经有序的四张牌里面找到 8 应该插入的位置,也就是 7 和 9 之间,然后把 8 插入进去。 插入排序的思想就是这么的简单,一
2022-05-06 12:56:08
554
5
原创 冒泡算法Bubble sort(最基础的排序算法)
目录1.初识冒泡排序 参考书籍:《漫画算法:小灰的算法之旅》 1.初识冒泡排序 想要学习排序算法,最好是先从“冒泡排序”开始学起,因为这是最基础的排序算法。 什么是冒泡排序? 冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以相小气泡一样,更自身的大小,一点一点地向着数组的一侧移动。 按照冒泡排序的思想,我们要把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换他们的位置;当一个元素小于或等于右侧相邻元素时,位置不变。 例如有这样的一个无序数列 {5,8,6,3,9,2,1,7}
2022-03-06 19:00:09
778
2
原创 【C语言项目】大奖赛程序
文章目录写在前面目前版本已知缺陷 写在前面 此C语言项目为新人小白作品,无论是在代码层面还是在什么层面,仅靠我个人的知识是做不到尽善尽美的,烦请各位读者们能多多在评论或私信提出意见以便改进。 在这里感谢项目组中的两位同学,姚同学和刘同学。 项目大部分都是他们完成的,在这里最后呈现出来的版本只是我经过了稍微(笑)的修改和优化 目前版本已知缺陷 无法实现密码长度范围限制。 最初版本的账户密码加密算法是刘同学实现的MD5加密且有稍微BUG,所以该版本没有实现账户密码加密。主要是因为我看不懂 早期因为缺少沟通
2022-01-24 18:00:00
2487
1
原创 如何判断一个数是否为2的整数次幂
题目 实现一个方法,来判断一个正整数是否是2的整数次幂(如16是2的4次方,返回1;18不是2的整数次幂,则返回-1)。 法一 int isPowerOf2V1(int num) { int temp = 1; while (temp <= num) { if (temp == num) { return 1; } temp *= 2; } return -1; } 创建一个中间变量temp,初始值是1。然后进入一个循环,每次循环都让temp和目标整数相比较,如果相等,则
2022-01-11 22:59:54
1638
3
原创 如何求出两个整数的最大公约数
前言 几个整数中公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。例如:12、16的公约数有1、2、4,其中最大的一个是4,4是12与16的最大公约数,一般记为(12,16)=4。12、15、18的最大公约数是3,记为(12,15,18)=3。 1.暴力枚举法 int get_greatest_common_divisorV1(int a, int b) { int big = a>b ? a : b; int small = a<b ? a...
2022-01-11 12:49:57
5160
原创 原、反、补码及大、小端字节序入门
原、反、补码介绍 总所周知,一个变量的创建是要在内存中开辟空间的,而空间的大小是根据不同的类型来决定的。 在32位的机器上:(字节) sizeofchar:1 sizeofint:4 sizeoflong:4 sizeoffloat:4 sizeoflonglong:8 sizeofdouble:8 sizeoflongdouble:12 sizeofchar*:4 在64位的机器上:(字节)...
2021-12-01 09:24:08
299
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人