![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data structure & C
文章平均质量分 80
moveofgod
这个作者很懒,什么都没留下…
展开
-
数组相关的指针
二维数组指针 分析 : int (*p)[5] ; / *这里的 int (*p)[5] 是一个行级指针, 指向一行5个元素 , 但是P本身也是一个内存地址 , 只站用 int 型内存单元 */ /* p 是一个行级指针 , p++ 指的是下一行 , *p是元素级别指针 , (*p)++ 指的是下一个元素 , 但是*p也是一个指针 , *((*p)++)原创 2011-12-19 21:15:03 · 310 阅读 · 0 评论 -
c 函数传递参数 & 结构体内存分配
1. 结构体内存分配 结构体中的各个字段在内存中的出现的位置时随它们被声明的 顺序而依次递增的。并且第一个字段的首地址等于整个结构体实例的首地址。 说明 : 结构体类型是一个类型,就好比 int 是一个类型一样,它是一个构造类型,独立类型,这个类型的大小就是 sizeof(struct) 当一种类型作为实参传递后,那么它同一个内置类型传递是一样原创 2012-02-19 11:28:55 · 1701 阅读 · 0 评论 -
串 & 数组和广义表
理论基础 串 串的存储方式 : 定长存储方式 : 用一维数组存储, 后边加 ' \0 ' . \0 表示终结 堆分配存储 : typedef struct { char * ch ; int length ;原创 2012-02-27 10:25:21 · 627 阅读 · 0 评论 -
图
基础理论 图的基本定义 : 二元组 , 即结点和边( 弧 ) G = ( V, {E} ) 有向图, 弧尾 --> 弧头 无向图, 边 无向完全图 n个结点 , 1/2n(n-1) 边, 就是任意两个结点都有边。 网 带权的图 , 这的权类似赫夫曼树的权. 子图 : G' = ( v', { E' } ) , v' 是v的子集, E' 是E的子集 邻翻译 2012-03-27 09:16:38 · 951 阅读 · 0 评论 -
线性表总结
基础理论 逻辑结构 线性表: 顾名思义是逻辑上连续的一组先性单元的集合 这样的逻辑结构 : 在计算机中有两种对应的存储结构 ( 顺序表 , 链表 ) 顺序表 : ( 物理相邻或者相隔固定参数 ) 特点 : 逻辑结构的位序明显 , 可以随机存取 , 插入/删除操作困难 . 一般利用高级语言数组实现 . 顺序表定义 : typed原创 2012-02-17 17:18:35 · 614 阅读 · 0 评论 -
All DataStructure
/* * all structure difinition */ /* 顺序表 */ typedef struct { ELEM_TYPE data[100]; int length; } sqlist; /* 单链表 */ typedef struct lnode { ELEM_TYPE data; struct lnode *next; } lnode, *linklist;翻译 2012-10-25 23:21:25 · 314 阅读 · 0 评论 -
栈和队列 小结
理论基础 栈和队列时操作受限制的线性表。 正是因为它们都是受限制的,所以采用顺序存储结构比较方便,因为顺序存储结构与链式存储结构的比较是,插入/删除操作比较不方便,需要移动元素,而此两种数据结构正好限制了插入删除操作。所以就使用顺序存储结构比较合理。 栈 ( 十分有用的数据结构, 递归调用 等等 ) 栈 : 限制在表尾进行插入删除操作 ( 入栈 出栈 , 后进先出 )原创 2012-02-19 13:11:47 · 913 阅读 · 0 评论 -
我喜欢的Struct方式
1.struct stu { char name ; int score ; }STU, *PSTU ; STU *a ; 2.struct { char name ; int score ; }STU, *PSTU ; STU *a ; 当定义的结构体中含有指向自己本身的指针时,则只能使用第一种情况。 3.原创 2012-01-19 20:10:45 · 304 阅读 · 0 评论 -
树
理论基础 递归不要太想细节, 想大方向比较好 .( 树这多想递归 ) 树 一般是有向 ↓ ( 从根到叶子 ) 无序 ←→ 线形结构 树形结构 第一个元素无前驱 根无前驱 最后一个元素无后继 多个叶子结点无后继 其他元素一个前驱一个后继 其他结点一个前驱多个后继 树是从家族的族谱来的 , (原创 2012-03-05 13:55:39 · 582 阅读 · 0 评论 -
c指针小结
1. 内存单元的编号( 即内存单元的地址 ) :指针 . 有时也叫内存单元的指针。 2. 指针时常量,指针变量才是变量( 即值为地址的变量)。 3. 变量的指针,就是变量的地址,存放地址的变量是指针变量。 4. 指针的定义:a. 指针类型说明(*) b. 指针变量名 c.指向的变量的数据类型 int * p c a b 5. 二维数组是以行为原创 2012-01-19 20:40:24 · 326 阅读 · 0 评论 -
getchar()函数 & 表达式求值
1.getchar()函数 getchar()函数经常应用于c中,由于接收用户输入的内容,getchar 函数是以行为单位存取的( 并不是单个字符 ) while( ( c = getchar() ) != EOF ) { putchar( c ) ; } 上边代码运行结果,并不是一个字符字符的输出,而是一次性一起输出.原创 2012-02-19 12:50:49 · 582 阅读 · 0 评论 -
c 内存分配
1. malloc ( 类型说明附* ) malloc (sizeof(类型)) ; pc = ( char *) malloc(100) ; 2. calloc 在内存中动态分配n块长度为"size"字节的连续区域,返回值为该区域的首地址。 pc = (Struct student *) calloc(2 , sizeof(Struct student)) ; 3. real翻译 2012-01-19 20:24:44 · 275 阅读 · 0 评论 -
内部排序 & 查找
1. 查找 1. 顺序查找 : 就是从第一个元素开始搜索, 查找内容 2. 折半查找 : 有序表时, 可以通过与关键字的比较, 实现折半查找. 3. 二叉排序树查找 : 所谓二叉排序树是指 , 左子树小于根, 右子树大于根, 查找过程有点类似折半查找. 顺序查找 /* line find * author : kevin * date : 2012.09.29 */翻译 2012-04-18 15:32:29 · 528 阅读 · 0 评论