数据结构
文章平均质量分 58
xinxue206
这个作者很懒,什么都没留下…
展开
-
排序算法(交换排序)——快速排序
算法: int QuickValue(int a[] ,int low, int high) { int key = a[low]; while(low while(low = key){ high--; } if (low != high) { //交换 int n1 = a[high]; a[high] = a[low]; a[low] = n1; print(a原创 2018-01-11 15:22:21 · 168 阅读 · 0 评论 -
排序算法(交换排序)——冒泡排序
//传统冒泡排序算法 void BubbleSort(int a[], int n) { for(int i = 0; i { for (int j =i; j { if (a[i] > a[j]) { int temp = a[j]; a[j] = a[i]; a[i] = temp; print(a,8,i); } } } } int _tmain(int原创 2018-01-11 16:35:30 · 171 阅读 · 0 评论 -
二叉树的三种排序算法
#include "stdafx.h" #include using namespace std; typedef struct _Node{ char ch; struct _Node * lchild; struct _Node * rchild; }_Node,*_Tree; //二叉树建树 void BuildTree(_Tree T, _Tree p)原创 2018-01-12 16:16:24 · 968 阅读 · 0 评论 -
满二叉树和完全二叉树
满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。 完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。 对于完全二叉树来说,叶子结点只可能在层次最大的两层上出现:对于任何一个结点,若转载 2018-01-09 12:02:02 · 530 阅读 · 0 评论 -
排序算法(插入排序)——希尔插值排序
//希尔排序算法(不稳定的排序算法,时间复杂度为O(n)) void ShellValue(int a[], int n, int dk) { for (int i = dk; i { //在某一区间段内进行直接插入排序算法 if (a[i] { int x = a[i]; int j = i-1; a[i] = a[i-1]; while(x a[j+1] = a[原创 2018-01-10 12:02:21 · 798 阅读 · 0 评论 -
排序算法(插入排序)——直接插入排序
排序算法之直接插入排序算法 #include "stdafx.h" #include using namespace std; //输出插入排序对象 void print(int a[], int n,int i) { cout for (int j = 0 ; j { cout } cout } void InsertSort(int原创 2018-01-10 11:06:34 · 185 阅读 · 0 评论 -
排序算法(选择排序)——直接选择
//取数组中的最小值 int SelectMinValue(int a[], int n, int k) { int nMin = 100; int r = 0; for (int i = k; i { if (a[i] { nMin = a[i]; r= i; } } return r; } //选择排序算法 void SelectSort(int a[原创 2018-01-10 15:11:35 · 226 阅读 · 0 评论