数据结构
su0xiaoniao
学习,努力
展开
-
简单选择排序算法
思路:每一趟在n-i+1(i=1,2,3,4 …n-1)个记录中选取关键字最小的记录作为有序序列的第i个记录。 代码如下:#include <iostream> #include <assert.h> using namespace std;void swap(int *ar, int i, int min) { int temp = ar[i]; ar[i] = ar[min];原创 2016-04-10 00:01:08 · 289 阅读 · 0 评论 -
冒泡排序
#include <iostream> #include <assert.h> using namespace std;void Swap(int *ar, int j, int k) { int temp = ar[j]; ar[j] = ar[k]; ar[k] = temp; }void BubbleSort3(int *ar, int length) //最优原创 2016-04-13 23:03:46 · 229 阅读 · 0 评论 -
堆排序
1.堆:完全二叉树 大根堆:每个结点的值都大于或等于其左右孩子结点的值。 小根堆:每个结点的值都小于或等于其左右孩子结点的值。 2.堆排序代码如下:#include <iostream> #include <assert.h> using namespace std;void HeapAdjust(int *ar, int start, int end) //调整也就是把每棵树的大根建原创 2016-04-14 20:31:06 · 254 阅读 · 0 评论 -
归并排序递归实现
代码:#include <iostream> #include <assert.h> #define LENGTH 10 using namespace std;void Merge(int *ar, int *br, int start, int mid, int end) { int i = start; int j = mid + 1; int k = start;原创 2016-04-17 12:03:42 · 401 阅读 · 0 评论