
c++排序算法
各种排序算法,冒泡,快排,选择,插入,堆排序
虎式坦克我最爱
这个作者很懒,什么都没留下…
展开
-
c++堆排序-建堆-插入-删除-排序
本文以大根堆为例,用数组实现,它的nums[0]是数组最大值。读者可以复制代码到编译器里运行一下试试,帮助理解。它的主要思路参考力扣官方讲解。原创 2023-09-21 01:37:33 · 182 阅读 · 0 评论 -
c++ 归并排序
归并排序算法时间复杂度较为稳定,一般为nlogn,而快速排序受源数组排序影响较大,今天来学习归并排序。原创 2023-09-20 14:28:19 · 478 阅读 · 0 评论 -
数组快速排序算法及实现
快速排序的思想:假设数组nums长度为n,从数组中随机抽选择一个数,一般是最后一个数位置n-1,使用左指针left=0,右指针right=n-2,左指针往右走,遇到比nums[n-1]大的数停止,右指针往左走,遇到比nums[n-1]小的数停止,如果此时左指针小于右指针,则交换两指针处的值,并将左右指针推进一个,否则跳出循环,最后交换nums[left]和nums[n-1],快速排序,本博客供自己学习记录使用,也欢迎大家一起讨论。原创 2022-11-16 21:17:12 · 345 阅读 · 0 评论 -
C++编程:数组的选择排序
随便输入十个数,其中包括多个相同的数,编程的目的是将这十个数从小到大排列。数组的选择排序,即首先找出这十个数中最小的一个,放在第一个位置,然后找出剩下9个数中最小的那个数,放在第二个位置,以此排好序。关于如何找出十个数中最小的那个,可以用for循环遍历数组,令第一个值为最小值,如果其他的数比第一个数小,则交换这两个数的位置,由此看出,要找出最小的那个,要再遍历十次。找出剩下j个数中最小的那个,要循环n-1-j次,代码如下:#include <iostream>#include原创 2022-03-11 09:32:51 · 2901 阅读 · 0 评论