
数据结构
文章平均质量分 75
风大了猪依旧飞不起来
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链栈的简单操作实现
入栈,先申请节点空间,然后将当前节点指向栈顶,然后栈顶指向本节点即可。如图 实现如下 void PushStack(Stack stack, int x) { PNode node; node = (PNode)malloc(sizeof(struct Node)); if (!node) { printf("无内存可分配\n"); } else {原创 2017-10-26 23:49:26 · 470 阅读 · 0 评论 -
平衡二叉搜索树的简单操作(AVL)
结构体 typedef struct AVLNode * Position; typedef Position AVLTree; struct AVLNode { int data; AVLTree left; AVLTree right; int height; }; LL AVLTree singleLeftRotation(AVLTree A) { A原创 2017-12-27 22:16:18 · 258 阅读 · 0 评论 -
二叉树的基本操作及一下问题(指针和终止输入)
先说问题。 1.为什么创建二叉树时使用二级指针? C都是值传递,只传指针相当于把外部指针的地址传入了而已,在函数内部你又创建了一个指针,也是指向那个地址,操作完后,其实只是改变了你创建的指针,并未改变外部的指针。 如同这一个函数,并未交换两个值。 你要改变的是指针的地址,那就要用到指针的指针,即二重指针 void change(int a, int b) { int temp原创 2017-11-18 13:26:07 · 2076 阅读 · 4 评论 -
哈夫曼树的实现
核心算法如下PhuffmanTree createHuffmanTree(int * a, int n) { PhuffmanTree p[n]; PhuffmanTree ptr, root = NULL; int i, j; for (i = 0; i < n; i++) { ptr = (PhuffmanTree)malloc(sizeof(huffmanTreeN原创 2017-12-12 21:58:10 · 401 阅读 · 0 评论 -
顺序栈的一些简单操作(一些需要注意的事项)
其他没什么说的,只想说一下输出栈内元素 不要直接用stack->t或者将它赋给另一个stack,因为是指针类型。一改都改,我在这用n装下stack->t,然后进行判断,什么时候为-1就输出完成。 void print (Stack stack) { int n = stack->t; while (n != -1) { printf("%d ", stack->原创 2017-10-25 23:14:19 · 1631 阅读 · 0 评论 -
链表的简单操作(插入,删除,置反,输出,合并,去重)
链表的核心就是指针,初接触可能不太熟悉。不会用就多用,熟能生巧 定义一个结构体类型,其中由数据类型和指针构成。有指针就相当于知道了门牌号,可以依次知道下个元素 typedef struct node{ int data; struct node *next; }Node,*LinkList; 链表的初始化,分配内存,判断是否有内存,头结点为空勿忘 LinkList initai原创 2017-10-11 17:50:38 · 1921 阅读 · 0 评论 -
链队列的简单操作(入队,出队,输出队元素等)
定义一个节点,里面包含元素类型,指向下一个节点的指针。然后定义一个结构体,里面两个指针,指向队头和队尾 typedef struct QNode { int data; struct QNode * next; }QNode, * Queue; typedef struct { Queue front; Queue rear; }LinkQueue; 入队操作要注意别...原创 2017-10-27 22:59:27 · 32782 阅读 · 3 评论 -
关于顺序表的简单操作合集
顺序表是最简单的一种,操作也是比较简单的增删找置 删除和插入需要进行前移或者后移,仅此 #include #include #include #define MAX 100 struct seList{ int data[MAX]; int n; }; typedef struct seList * list; list makelist(void); void pr原创 2017-10-10 21:57:34 · 291 阅读 · 0 评论 -
二叉搜索树的简单操作(BST)
只写一个先序遍历,中序和后序就顺序不同 结构体,基本数据类型和两个指向左右节点的指针 typedef struct TNode * Position; typedef Position BinTree; struct TNode { int data; BinTree left; BinTree right; }; 插入 BinTree insert(B原创 2017-12-26 22:34:37 · 367 阅读 · 0 评论