数据结构
chenyang1004
这个作者很懒,什么都没留下…
展开
-
排序(下)
快速排序ElementType Median3(ElementType A[],int Left,int Right){ int Center = (Left+Right)/2; if(A[Left]>A[Center]) Swap(&A[Left],&A[Center]); if(A[Left]>A[Right]) Swap(&A[Left],&A[Right]); if(A[Center]>A[Right]) Swap(&原创 2020-11-15 23:37:17 · 79 阅读 · 0 评论 -
排序(上)
冒泡排序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]){ Swap(A[i],A[i+1]); flag=1; } } if(flag==0) break; }}插入排序void Insertion_Sort(ElementType A[],int N){ int P,i原创 2020-11-12 23:20:17 · 89 阅读 · 0 评论 -
图(中)
邻接表存储-无权图的单源最短路算法原创 2020-11-05 11:07:06 · 91 阅读 · 0 评论 -
图(上)
用邻接矩阵表示图typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /*顶点数*/ int Ne; /*边数*/ WeightType G[MaxVertexNum][MaxVertexNum]; DataType Data[MaxVertexNum];/*存储点的数据*/};typedef PtrToGNode MGraph; /*以邻接矩阵存储的图类型*/建立一个有顶点没有边的图typedef int Vertex; /*用原创 2020-11-03 22:17:40 · 164 阅读 · 0 评论 -
堆
堆堆的定义typedef struct HNode *Heap;/*堆的类型定义*/struct HNode{ ElementType *Data;/*存储元素的数组*/ int Size;/*堆中当前元素个数*/ int Capacity;/*堆的最大容量*/};typedef Heap MaxHeap;/*最大堆*/typedef Heap MinHeap;/*最小堆*/#define MAXDATA 1000 /*该值应根据具体情况定义为大于堆中所有可能元素的值*/创建堆M原创 2020-09-25 22:26:05 · 119 阅读 · 0 评论 -
二叉搜索树插入和删除
二叉搜索树插入和删除BinTree Insert(BinTree BST,ElementType X){ if(!BST){/*若原树为空,生成并返回一个结点的二叉搜索树*/ BST = (BinTree)malloc(sizeof(struct TNode)); BST->Data = X; BST->Left = BST->Right = NULL; } else{/*开始找要插入元素的位置*/ if(X < BST->Data) BST-&原创 2020-09-24 17:10:59 · 86 阅读 · 0 评论 -
树——层序遍历
树——层序遍历void LevelorderTraversal(BinTree BT){ Queue Q; BinTree T; if(!BT)return;/*若是空树直接返回*/ Q=CreatQueue();/*创建空队列Q*/ AddQ(Q,BT); while(!IsEmpty(Q)){ T=DeleteQ(Q); printf("%d",T->Data);/*访问取出队列的节点*/ if(T->Left) AddQ(Q,T->Left);原创 2020-09-24 14:40:30 · 115 阅读 · 0 评论 -
多项式加法运算
2.4 多项式加法运算struct PolyNode{ int coef;/*系数*/ int expon;/*指数*/ struct PolyNode *link;/*指向下一结点的指针*/};typedef struct PolyNode *Polynomial;Polynomial P1,P2;Polynomial PolyAdd(Polynomial P1,Polynomial P2){ Polynomial front,rear,temp; int sum; rear =原创 2020-08-16 16:54:22 · 597 阅读 · 0 评论 -
2.3 队列
2.3队列队列的定义与操作–顺序存储typedef int Position;struct QNode{ ElementType *Data;/*存储元素的数组*/ Position Front,Rear;/*队列的首、尾指针*/ int MaxSize;/*队列最大容量*/};typedef struct QNode *Quene;Quene CreateQuene(int MaxSize){ Quene Q = (Quene)malloc(sizeof(struct QNode)原创 2020-08-15 21:37:39 · 119 阅读 · 0 评论