自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【c++】快速排序

快速排序是对冒泡排序的一种改进,其实现原理是将未排序元素根据一个作为基准的“主元”分为两个子序列,其中一个子序列的记录均大于主元,而另一个子序列均小于主元,然后递归地对这两个子序列用类似的方法进行排序。

2023-12-01 23:02:02 36 1

原创 【c++】归并排序

将两个或两个以上的有序表组合成一个新的有序表。我们这里要说的是二路归并,二路归并排序的核心操作是将一维数组中前后相邻的两个有序序列归并成为一个有序序列。

2023-11-23 22:53:04 342 2

原创 【c++】桶排序

首先,第一个for循环作用是将数字放到“桶”中,arr[t]++的含义便是将相同的数放到桶一个"桶"中,然后用一个for循环再将从1到10数字“倒出来”,注意while循环在这里的条件需要让arr[i]大于0,原因是你一个“桶”放入多少个数就最多只能倒出多少个数。桶循环的时间复杂度为o(n),空间复杂度为o(n),桶循环需要使用到额外更多的空间,而它的时间复杂度就相对用得更少,桶循环一般使用在排序的数较小和有限时,不然会用到太多空间。

2023-11-22 23:22:15 353 1

原创 【c++】冒泡排序

首先,我们需要知道冒泡排序还是要用到双重for循环,然后我们再把每次把最大的数交换到最后理解为循环了一趟,外层循环就表示循环的趟数,然后我们给一个c赋值0,后面用来判断它是否进行了交换,在内层for循环中我们就把从数组中的第一个数开始与后面的数进行比较,如果arr[j]比arr[j-1]小,那么就进行交换操作并给赋值为1,如果arr[j]比arr[j-1]大,那么直接跳出内层循环,进行下一趟。(这里要注意内层for循环的结束条件需要减去i,因为每次排好的最大的那个数不会再参与比较了,它已经排好了)

2023-11-21 21:43:42 58

原创 【c++】插入排序

代码理解:外层for循环表示排序的趟数,因为只有一个数是不用比较排序,所以i从1开始,内层for循环表示从下标为j的值开始一直比较,让下标为j与下标为j减1的两个数比较大小,然后如果前面的数大就进行交换,否则就跳出内层循环。插入排序的思路很简单,首先是将数字插入(只有一个数据时不用比较),在插入第二个数据之后就需要与前一个数进行比较交换,以此类推,在插入第n个数据时就需要与前面的n-1个数据进行比较,遇到更小的数就进行交换,然后就会排出从小到大的一组数据。

2023-11-20 22:12:52 39

原创 ——选择排序——

我们以上面的代码为例子,在main函数中的第一个for循环表示的含义也就是遍历的次数,然后用一个变量来存第一个值,第二个for循环表示从第二个值开始依次比较,只要遇到小的数,就吧这个数用arr[k]来存,当第一遍结束后就找到最小值了,后面我们再用if判断,如过下标k没有改变过,那么第一个值就不用交换,反之就进行交换,确定第一个值后,就会跳出内层循环,然后将i+1,也就是开始第二趟寻找,后面的操作也和前面相同。我们这里说的选择排序就是不稳定的。到这选择排序算法就讲完了,留个赞再溜呗,铁子们!

2023-11-19 22:43:18 313

原创 总结c/c++的基本算法

之前看到朋友在写博客,发现通过写博客来检验自己的学习成果好像真的挺不错,学习了一段时间,想把成果给大家分享分享(当然,如果有大佬看到,可以自行忽略,本人二本菜鸟一个,写博客纯粹为了自己总结和回忆,还有和小伙伴们讨论学习。因为我感觉排序还是比较多的,我怕写太多写不清楚,后面就先搞选择和插入排序,当然如果觉得进度慢的小伙伴可以学完来看一下,检验一下,提供一些思路和代码,如果有建议评论区提,一定看!学了c语言和c++基础的都可以瞄一眼,就当给哥们写下去的动力了。还有一点,本人文笔不好,不喜勿喷!

2023-11-19 15:01:59 135

空空如也

空空如也

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

TA关注的人

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