![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 88
风大了猪依旧飞不起来
这个作者很懒,什么都没留下…
展开
-
链栈的简单操作实现
入栈,先申请节点空间,然后将当前节点指向栈顶,然后栈顶指向本节点即可。如图实现如下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 · 420 阅读 · 0 评论 -
平衡二叉搜索树的简单操作(AVL)
结构体typedef struct AVLNode * Position;typedef Position AVLTree;struct AVLNode { int data; AVLTree left; AVLTree right; int height;};LLAVLTree singleLeftRotation(AVLTree A) { A原创 2017-12-27 22:16:18 · 217 阅读 · 0 评论 -
二叉树的基本操作及一下问题(指针和终止输入)
先说问题。1.为什么创建二叉树时使用二级指针?C都是值传递,只传指针相当于把外部指针的地址传入了而已,在函数内部你又创建了一个指针,也是指向那个地址,操作完后,其实只是改变了你创建的指针,并未改变外部的指针。如同这一个函数,并未交换两个值。你要改变的是指针的地址,那就要用到指针的指针,即二重指针void change(int a, int b){ int temp原创 2017-11-18 13:26:07 · 1971 阅读 · 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 · 342 阅读 · 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 · 1531 阅读 · 0 评论 -
链表的简单操作(插入,删除,置反,输出,合并,去重)
链表的核心就是指针,初接触可能不太熟悉。不会用就多用,熟能生巧定义一个结构体类型,其中由数据类型和指针构成。有指针就相当于知道了门牌号,可以依次知道下个元素typedef struct node{int data;struct node *next;}Node,*LinkList;链表的初始化,分配内存,判断是否有内存,头结点为空勿忘LinkList initai原创 2017-10-11 17:50:38 · 1856 阅读 · 0 评论 -
链队列的简单操作(入队,出队,输出队元素等)
定义一个节点,里面包含元素类型,指向下一个节点的指针。然后定义一个结构体,里面两个指针,指向队头和队尾typedef struct QNode { int data; struct QNode * next;}QNode, * Queue;typedef struct { Queue front; Queue rear;}LinkQueue;入队操作要注意别...原创 2017-10-27 22:59:27 · 32297 阅读 · 3 评论 -
关于顺序表的简单操作合集
顺序表是最简单的一种,操作也是比较简单的增删找置删除和插入需要进行前移或者后移,仅此#include#include#include#define MAX 100struct seList{ int data[MAX]; int n;};typedef struct seList * list;list makelist(void);void pr原创 2017-10-10 21:57:34 · 253 阅读 · 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 · 296 阅读 · 0 评论