随笔分类 - 数据结构
摘要:树 非线性结构 非线性有层次 定义: 有且只有一个称为根节点 有若干个互不相交的子树,子树本身也是一个树 通俗的定义: 树是由节点和边组成 每一个节点只有一个父节点,但可以有多个子节点 根节点没有父节点 专业术语: 节点 子孙 深度: 从根节点到最底层节点的层数称为深度,根节点是第一层 叶子结点:没
阅读全文
摘要:递归 函数直接或间接的调用自己 阶乘 #include<stdio.h> int main(void) { int val; int i,mult,s; mult =1; printf("请输入一个数字:"); printf("val="); scanf("%d",&val) ; for(i=1;i
阅读全文
摘要:队列 定义:一种可以实现“先进先出”的存储结构 分类: 链式队列——用链表实现 静态队列——用数组实现 静态队列通常都必须是循环队列 循环队列的讲解: 静态队列为什么必须是循环队列——如果不循环,则删除元素前面的空间闲置浪费 循环队列需要几个参数来确定——两个参数来确定rear,front在不同场合
阅读全文
摘要:栈 定义: 一种可以实现“先进后出”的存储结构 栈类似于箱子 分类: 静态栈 动态栈 #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct Node { int date; struct Node*pNext;
阅读全文
摘要:链表 typedef #include<stdio.h> typedef int sunkuan;//为int多取一个名字 ,sunkuan等价于int typedef struct Student { int sid; char name[100]; char sex; }* PST;//PS
阅读全文
摘要:连续存储数组算法 连续存储 1.什么是数组 元素类型相同,大小相等 2.数组的优缺点: #include<stdio.h> #include<malloc.h>//包含了malloc #include<stdlib.h> //包含了exit struct Arr//定义了一个数据类型 ,名字叫 st
阅读全文
摘要:跨函数调用 动态分配内存(malloc在#include<malloc.h> 和#include<stdlib.h>中)只能自己手动释放(free)内存 #include<stdio.h> int f(); int main(void) { int i=10; i=f(); printf("i=%d
阅读全文
摘要:指针 #include<stdio.h> int main(void) { double *p; double x=66.6; p=&x; //x占8个字节,一个字节是8位。一个字节一个地址。X存放一个地址,一般为首地址 double arr []={1.1,2.2,3.3}; double *q;
阅读全文
摘要:数据结构概述 书籍推荐: 严薇敏 高一凡(代码实现) 数据结构 定义 我们如何吧现实中大量复杂的问题以特定的数据类型和特定存储结构保存到存储器中,以及再在此基础上实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个操作就叫算法 eg:链表存储大量数据 (个体和个体
阅读全文