摘要: 图是由两个集合V和E组成的,V是有限的非空顶点集,E是V上的定点对所构成的边集,分别用V(g)和E(g)来表示图中的顶点集和边集,用二元组G=(V(g),E(g))来表示图G。 图分为有向图和无向图。 有向图:<Vi,Vj>:表示从Vi开始到Vj的一条边。Vi为初始顶点或尾。Vj为头或者终端顶点。有 阅读全文
posted @ 2016-12-30 13:52 hai5111 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 原文出处《http://blog.csdn.net/xiayufeng520/article/details/45956305#t0》 栈内存由编译器分配和释放,堆内存由程序分配和释放。 1、C语言中的动态内存 C语言程序语言中的动态数据存储区主要有两大类:一类是栈(STACK)内存区域,另一类是堆 阅读全文
posted @ 2016-12-29 19:12 hai5111 阅读(341) 评论(0) 推荐(0) 编辑
摘要: sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。 但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的 阅读全文
posted @ 2016-12-29 14:40 hai5111 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 选择排序的基本思想是:每一趟从待排序的记录中挑选出关键字最小的记录,按顺序放在已排好的子文件的最后,直到全部记录排好为止。(从小到大的排序) 直接选择排序:从待排序的所有记录中,挑选出关键字最小的记录,把它与第一个记录交换,然后在其余的记录中再选择出关键字最小的记录与第二个记录交换,如此重复下去,直 阅读全文
posted @ 2016-12-29 10:08 hai5111 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 双向链表的查找工作 解析: 使用next指针遍历,直到找到数据为data的节点,如果找到节点,返回节点,否则返回NULL; Dbnode *pnode=head; if(head==null) return NULL; while(pnode->next!=NULL &&pnode->data!=d 阅读全文
posted @ 2016-12-28 10:38 hai5111 阅读(756) 评论(0) 推荐(0) 编辑
摘要: (1)在函数体内,局部的static变量。生存周期为程序的整个生命周期;作用域却在定义了的函数体内。一个被声明为静态的变量在这个函数被调用过程中维持其值不变。因为它分配在静态存储区域,函数调用结束以后并不释放单元,但是在其他的作用域无法访问。当再次调用这个函数时,这个局部变量还存活,而且用在它的访问 阅读全文
posted @ 2016-12-27 21:01 hai5111 阅读(179) 评论(0) 推荐(0) 编辑
摘要: (1)在C语言的头文件中定义变量出现的问题 最好不要傻嘻嘻的在头文件里定义什么东西。比如全局变量: /*xx头文件*/ #ifndef _XX_头文件.H #define _XX_头文件.H int A; #endif那么,很糟糕的是,这里的int A是个全局变量的定义,所以如果这个头文件被多次引用 阅读全文
posted @ 2016-12-27 20:06 hai5111 阅读(5508) 评论(0) 推荐(0) 编辑