数据结构与算法
SuperGirlll
这个作者很懒,什么都没留下…
展开
-
选择排序(C++实现)
1.基本思想 选择排序算法的基本思想是对需要排序的元素序列 a[0]~a[r]进行r遍处理,第i遍处理是将a[i-1],…,a[r]中最小者与a[i-1]交换位置。这样,经过i遍处理之后,较小的 i个元素的位置已经是正确的了。 2.代码实现 #include <iostream> using namespace std; void selectionSort(int a[],int ...原创 2018-11-06 16:12:30 · 153 阅读 · 0 评论 -
插入排序
1.基本思想 插入排序的基本思想是,对数组元素a[l]~a[r],经过前i-l次处理后,a[l],a[l+1],…,a[i-1]已排好序。下一轮处理是要将a[i]插入a[l],a[l+1],…,a[i-1]的适当的位置,使得a[l],a[l+1],…,a[i]是排好的序列。要达到这个目的,可以用顺序比较的方法,首先比较a[i]和a[i-1],如果a[i-1]<=a[i],则a[l],…,a[...原创 2018-11-07 00:20:32 · 102 阅读 · 0 评论 -
快速排序
1.基本思想 快速排序算法是基于分治策略的排序算法,其基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 对于输入的子数组,按以下3个步骤: (1)分解:以a[r]为基准元素将a[l:r]划分成3段 a[l:i-1]、a[i]和 a[i+...原创 2018-11-07 10:31:24 · 162 阅读 · 0 评论 -
随机快速排序算法
先贴代码吧,后续再分析: #include <iostream> #include <stdlib.h> using namespace std; void swap(int &a,int &b){ int temp; temp=a; a=b; b=temp; } int partition(int a[],int l,int r)...原创 2018-11-07 15:34:57 · 1211 阅读 · 0 评论