in 寻寻觅觅

餐前小点:VS Code只是一个代码编辑器,编译、运行这些活需要其他程序完成。C/C++ 编译器的选择,GCC/G++(MinFGW-w64)MinGW和MinGW-w64是两个不同的项目。MinGW本身已经很久没有更新了,故不推荐。为了方便,本文中的MinGW指的其实都是MinGW-w64。...

in 数据结构

选择排序(Selection sort)是一种简单直观的排序算法。它首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。排序思路从无序区(R[i..n-1])中选出最小的元...

in 数据结构

快速排序(Quicksort)是对冒泡排序的一种改进,它使用了分治法(Divide and conquer)策略,把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。排序思路快速排序把一个序列(list)分为两个子序列(sub-l...

in 数据结构

交换排序的基本思想是两两比较待排序的元素,反序时进行交换,直至没有反序元素为止。冒泡排序是最简单的交换排序,也是很多人接触到的第一种排序算法。排序思路通过无序区相邻元素的比较,进行位置交换,使得最小的元素如气泡般逐渐往上“漂浮”直至“水面”,或者使得最大元素“沉到”最下面。排序算法以c为例,从...

in 数据结构

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。排序思路先取一个小于n的整数d1作为第一个增量,把表的全部元素分为d1个组,将所有距离为d1的倍数的元素放在同一个组中,在各组内进行直接插入排序;取第二个增量d2(<d1),重复上述的分组和排序,直至所取增量dt=1(dt...