![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
SunnyPotter
http://sunnypotter8.sinaapp.com/
展开
-
排序算法之冒泡排序
第一种(标准): #include #include #include void swap(int *a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } void BubbleSort(int *a, int m) { int i, j; // Something Different for(i=原创 2014-01-02 18:26:03 · 600 阅读 · 0 评论 -
排序算法之归并排序
链表: void MergeSort(SqList *L) { MSort(L->r, L_>r, 1, L->length); } void MSort(int SR[], int TR1[], int s, int t) { int m; int TR2[MAXSIZE+1]; if(s == t) { TR1[s] = SR[s]; } else { m = (s+t)原创 2014-01-02 18:21:56 · 538 阅读 · 0 评论 -
排序算法之直接插入排序
#include void InsertSort(int *a, int n) { int i, j; for(i=2; i<=n; i++) { if(a[i] < a[i-1]) { a[0] = a[i]; for(j=i-1; a[j] > a[0]; j--) a[j+1] = a[j]; a[j+1] = a[0]; } } } int原创 2014-01-02 18:20:41 · 556 阅读 · 0 评论 -
排序之堆排序
链表:#include // 大根堆 void HeapAdjust(SqList *L, int s, int n) { int temp, j; // temp = L->r[s]; for(j=2*s; j<=m; j*=2) { // 比较,记录j和j+1中较大的值,用于和temp比较 if(jr[j] r[j+1]) ++j; // 如果j和j+!中较大的值原创 2014-01-02 18:18:56 · 630 阅读 · 0 评论