
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 · 336 阅读 · 0 评论 -
c 函数传递参数 & 结构体内存分配
1. 结构体内存分配 结构体中的各个字段在内存中的出现的位置时随它们被声明的 顺序而依次递增的。并且第一个字段的首地址等于整个结构体实例的首地址。 说明 : 结构体类型是一个类型,就好比 int 是一个类型一样,它是一个构造类型,独立类型,这个类型的大小就是 sizeof(struct) 当一种类型作为实参传递后,那么它同一个内置类型传递是一样原创 2012-02-19 11:28:55 · 1749 阅读 · 0 评论 -
串 & 数组和广义表
理论基础 串 串的存储方式 : 定长存储方式 : 用一维数组存储, 后边加 ' \0 ' . \0 表示终结 堆分配存储 : typedef struct { char * ch ; int length ;原创 2012-02-27 10:25:21 · 658 阅读 · 0 评论 -
图
基础理论 图的基本定义 : 二元组 , 即结点和边( 弧 ) G = ( V, {E} ) 有向图, 弧尾 --> 弧头 无向图, 边 无向完全图 n个结点 , 1/2n(n-1) 边, 就是任意两个结点都有边。 网 带权的图 , 这的权类似赫夫曼树的权. 子图 : G' = ( v', { E' } ) , v' 是v的子集, E' 是E的子集 邻翻译 2012-03-27 09:16:38 · 994 阅读 · 0 评论 -
线性表总结
基础理论逻辑结构 线性表: 顾名思义是逻辑上连续的一组先性单元的集合 这样的逻辑结构 : 在计算机中有两种对应的存储结构 ( 顺序表 , 链表 )顺序表 : ( 物理相邻或者相隔固定参数 ) 特点 : 逻辑结构的位序明显 , 可以随机存取 , 插入/删除操作困难 . 一般利用高级语言数组实现 . 顺序表定义 : typed原创 2012-02-17 17:18:35 · 645 阅读 · 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 · 333 阅读 · 0 评论 -
栈和队列 小结
理论基础栈和队列时操作受限制的线性表。正是因为它们都是受限制的,所以采用顺序存储结构比较方便,因为顺序存储结构与链式存储结构的比较是,插入/删除操作比较不方便,需要移动元素,而此两种数据结构正好限制了插入删除操作。所以就使用顺序存储结构比较合理。栈 ( 十分有用的数据结构, 递归调用 等等 ) 栈 : 限制在表尾进行插入删除操作 ( 入栈 出栈 , 后进先出 )原创 2012-02-19 13:11:47 · 946 阅读 · 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 · 328 阅读 · 0 评论 -
树
理论基础 递归不要太想细节, 想大方向比较好 .( 树这多想递归 ) 树 一般是有向 ↓ ( 从根到叶子 ) 无序 ←→ 线形结构树形结构第一个元素无前驱根无前驱最后一个元素无后继多个叶子结点无后继其他元素一个前驱一个后继其他结点一个前驱多个后继 树是从家族的族谱来的 , (原创 2012-03-05 13:55:39 · 650 阅读 · 0 评论 -
c指针小结
1. 内存单元的编号( 即内存单元的地址 ) :指针 . 有时也叫内存单元的指针。2. 指针时常量,指针变量才是变量( 即值为地址的变量)。3. 变量的指针,就是变量的地址,存放地址的变量是指针变量。4. 指针的定义:a. 指针类型说明(*) b. 指针变量名 c.指向的变量的数据类型 int * p c a b5. 二维数组是以行为原创 2012-01-19 20:40:24 · 347 阅读 · 0 评论 -
getchar()函数 & 表达式求值
1.getchar()函数 getchar()函数经常应用于c中,由于接收用户输入的内容,getchar 函数是以行为单位存取的( 并不是单个字符 ) while( ( c = getchar() ) != EOF ) { putchar( c ) ; } 上边代码运行结果,并不是一个字符字符的输出,而是一次性一起输出.原创 2012-02-19 12:50:49 · 617 阅读 · 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 · 300 阅读 · 0 评论 -
内部排序 & 查找
1. 查找 1. 顺序查找 : 就是从第一个元素开始搜索, 查找内容 2. 折半查找 : 有序表时, 可以通过与关键字的比较, 实现折半查找. 3. 二叉排序树查找 : 所谓二叉排序树是指 , 左子树小于根, 右子树大于根, 查找过程有点类似折半查找.顺序查找/* line find * author : kevin * date : 2012.09.29 */翻译 2012-04-18 15:32:29 · 557 阅读 · 0 评论