数据结构
yhgao96
在读硕士,研究方向:机器人、机器学习,深度学习、图像处理等
展开
-
冒泡排序
冒泡排序:将最大得数据下沉,最小的数字上浮,最后形成一组由小到大有序的数字。 void Bubble_Sort(ElementType A[], int N){ for (P=N-1; P>=0; P--){ flag = 0; for (i=0; i<P; i++){ //一趟冒泡 if( A[i] > A[i+1]){...原创 2020-04-16 10:13:43 · 114 阅读 · 0 评论 -
归并排序
归并排序思想: 划分为两个子序列 分别对每个子序列归并排序 有序子序列合并 /*两路归并排序算法框架*/ template <class Record> void MergeSort(Record Array[], Record TempArray[], int left, int right){ //Array为待排序数组,left,right两端 int middl...原创 2020-04-10 10:43:48 · 153 阅读 · 0 评论 -
交换排序
1. 冒泡排序 算法思想:不停地比较相邻的记录,如果不满足排序要求,就交换相邻记录,直到所有记录都已经排好序 检查每次冒泡过程中是否已经发生过交换,如果没有,则表明整个数组已经排好序了,排序结束。 /*冒泡排序*/ template <class Record> void BubbleSort(Record Array[], int n){ bool NoSwap; ...原创 2020-04-10 09:42:33 · 159 阅读 · 0 评论 -
选择排序
1. 直接选择排序 依次选出剩下的未排序记录中的最小记录 /*直接选择排序*/ template <class Record> void SelectSort(Record Array[], int n){ //依次选出第i小的记录,即剩余记录中最小的那个 for (int i = 0; i < n - i; i++){ //首先假设记录i就是最小的 int S...原创 2020-04-09 18:52:57 · 210 阅读 · 0 评论 -
插入排序
插入排序的核心思想可以用打扑克牌时的理牌来表示,当整理牌时,我们将新的牌插入到相应的位置。对于一列数字,对于其中的任意一个数字,在前面的一个已排序子序列当中,找到自己合适的位置,插入进去。 /*插入排序算法*/ template <class Record> void ImprovedInsertSort(Record Array[], int n){ //Array[]为...原创 2020-04-09 17:41:13 · 172 阅读 · 0 评论