- 博客(12)
- 问答 (1)
- 收藏
- 关注
原创 图的创建
typedef struct GNode* PtrToGNode;struct GNode{ int Nv;//顶点数 int Ne;//边数 WeightType G[MaxVertexNum][MaxVertexNum]; DataType Data[MaxVertexNum];//存顶点的数据};typedef PtrToGNode MGraph;//MGraph初始化//初始化一个有VertexNum个顶点但没有边的图typedef int Vertex;MGraph Cre
2020-07-17 20:40:16
290
原创 哈夫曼树的构造
typedef struct TreeNode* HuffmanTree;struct TreeNde { int Weighy; HuffmanTree Left, Right;};HuffmanTree Huffman(MinHeap H){ //假设H->Size个权值已经存在H->Elements[]->Weight里 int i; HuffmanTree T; BuildMinHeap(H);//将H->Elements[]按权值调整为最小堆 for
2020-07-01 22:53:20
189
原创 集合及运算
typedef struct { ElementType Data; int Parent;}SetType;//集合的运算//查找某个元素所在的集合int Find(SetType S[], ElementType X){ int i; for (i = 0; i < MaxSize && S[i].Data != X; i++); if (i >= Maxsize) return -1; for (; S[i].Parent >= 0; i = S
2020-06-27 22:30:51
142
原创 堆
typedef struct HeapStruct *MaxHeap;struct HeapStruct { ElementType *Elements; int Size; int Capacity;};//创建最大堆MaxHeap Create(int MaxSize){ MaxHeap H = malloc(sizeof(struct HeapStruct)); H->Elements = malloc((MaxSize + 1) * sizeof(ElementType))
2020-06-27 21:56:28
128
原创 二叉搜索树的查找,插入和删除
//二叉搜索树查找操作FindPosition Find(ElementType X, BinTree BST){ if (!BST) return NULL; if (X > BST->Data) return Find(X, BST->Right); else if (X < BST->Data) return Find(X, BST->Left); else return BST;}//循环实现Position IterFind(Ele
2020-06-26 21:36:42
119
原创 树的遍历
typedef struct TreeNode* BinTree;typedef BinTree Position;struct TreeNode { ElementType Data; BinTree Left; BinTree Right;};//先序遍历void PreOrderTraversal(BinTree BT){ if (BT) { printf("%d", BT->Data); PreOrderTraversal(BT->Left); PreOr
2020-06-26 19:46:07
161
原创 队列的链式存储实现
struct Node { int Data; struct Node* Next;};struct QNode { struct Node* rear; struct Node* front;};typedef struct QNode* Queue;Queue PtrQ;//出队int DeleteQ(Queue PtrQ){ struct Node* FrontCell; int FrontElem; if (PtrQ->front == NULL) { pr
2020-06-15 22:51:41
227
2
原创 队列的顺序存储实现
#define MaxSize<10>struct QNode{ int Data[MaxSize]; int rear; int front;};typedef struct QNode* Queue;//入队void AddQ(Queue PtrQ, int item){ if ((PtrQ->rear + 1) % MaxSize == PtrQ->front) { printf("队列满"); return; } PtrQ->rea
2020-06-15 22:21:16
232
原创 堆栈的链式存储实现
typedef struct SNode* Stack;struct SNode{ int Data; struct SNode* Next;};Stack CreateStack(){ Stack s; s = (Stack)malloc(sizeof(struct SNode)); s->Next = NULL; return s;}//判断堆栈s是否为空,若为空返回整数1,否则返回0int IsEmpty(Stack s){ return (s->Nex
2020-06-15 21:31:20
274
原创 堆栈的顺序存储实现
#include<iostream>using namespace std;class Stack {public: int Data[10]; int Top = -1;};//入栈void Push(Stack* PtrS, int item){ if (PtrS->Top == 10 - 1) { printf("堆栈满"); return; } else { PtrS->Data[++(PtrS->Top)] = item;
2020-06-15 20:23:13
210
原创 线性表的链式存储实现
typedef struct LNode * List;struct LNode {int Date;List Next;};//求表长int Length(List PtrL){List p = PtrL;int j = 0;while §{p = p->Next;j++;}return j;}//按序号查找List FindKth(int K, List PtrL){List p = PtrL;int i = 1;while (p != NULL &am
2020-06-13 22:16:43
161
原创 线性表的顺序存储实现
typedef struct LNode *List;struct LNode {int Date[10];int Last;};//初始化List MakeEmpty(){List PtrL;PtrL = (List)malloc(sizeof(struct LNode));PtrL->Last = -1;return PtrL;}//查找int Find(int a, List PtrL){int i = 0;while (i <= PtrL->Las
2020-06-13 22:13:19
120
空空如也
c语言链接MySQL,执行sql语句时报字符串错误
2021-06-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人