- 博客(33)
- 收藏
- 关注
原创 Linux系统标准I/O(5.29)
一 标准IO库 C标准 规定:函数名,参数,返回值库:实现好的函数接口,供别人使用 问:使用标准库的好处?屏蔽底层细节(操作系统系统调用接口间的差异),向上层提供统一的接口,增加程序的移植性二 标准IO库中提供对文件的操作函数接口1.标准IO的操作函数它是对系统调用接口的封装(它的内部实现调用了系统调用),并且提供缓
2015-05-29 11:31:04 572
原创 Java反射&JNI[Java Native Interface](5.28)
1.反射 [1]通过反射机制,用户程序员可以知道任意类里面的所有属性和方法(哪怕是私有的)。对于任意对象,可以调用它的任意属性和方法。 [2].class文件加载后,JVM会生成一个类对象。类对象中包含:类中的所有构造,属性,行为。 [3]反射相关类 类对象包含:Constructor对象,Field对象,Method对象 Constructor对象
2015-05-28 20:01:13 1295
原创 Java多线程&输入输出流&网络(5.27)
1.java多线程 [1]进程:每个进程都有独立的代码和数据空间,进程间的切换会有较大的开销 一个进程包含1-n个线程 [2]线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器, 线程间的切换开销小。 多进程是指操作系统同时运行多个任务(程序) 多线程是指同一个程序中有多个顺序流在属性pac
2015-05-27 18:59:18 1038
原创 单例模式&异常处理(5.26)
1.数据类型 1.基本数据类型 2.引用数据类型2.类,父类,子类,抽象类,内部类,匿名内部类,接口3.类的结构 属性 行为 构造方法 语句块 内部类4.类和类之间的关系 1.继承关系 2.包含关系5.对象 实例化对象 new A(); 1.申请内存 2.调用构造,初始化属性
2015-05-26 19:37:35 1077
原创 Java高级类特性(5.25)
1.创建对象时,代码的执行顺序 [1]初始化父类属性,调用语句块,调用父类的构造 [2]初始化子类属性,调用语句块,调用子类的构造 如果父类构造被重载,需要子类来确定具体调用父类中的哪个构造。package com;public class Book { protected String name; protected int price; { System
2015-05-25 19:22:35 521
原创 面向对象程序设计思想&继承与关键字(5.22)
1.面向对象思想的编程方式 [1]创建类。属性,行为。 [2]创建对象。分配内存空间,初始化属性。 [3]调用对象中的行为。2.继承 概念:子类扩展父类的功能。 子类扩展父类,可以得到父类的属性和方法,避免代码的重复冗余。 子类可以添加自己的属性和方法 子类可以重写父类的方法 java中使用
2015-05-24 22:08:01 385
原创 Java构造方法&数据类型(5.21)
1.配置java环境变量 [1]在windows下安装jdk,路径默认。 [2]我的电脑-->属性-->高级-->环境变量-->系统变量--> 双击Path,填入变量值 ";C:\Program Files\Java\jdk1.7.0_51\bin" 新建CLASSPATH,填入变量值";C:\Program Files\Java\jdk1.7.0_51\lib
2015-05-21 22:09:11 1023
原创 图的存储(5.20)
一 图的存储----邻接矩阵1.数据结构typedef struct { int v[N]; int matrix[N][N];}graph_t;2.操作graph_t *malloc_graph_memory(){ int i = 0; graph_t *g; g = (graph_t *)malloc(sizeof(graph_t)); fo
2015-05-20 19:59:13 395
转载 深度优先搜索(DFS)&广度优先搜索(BFS)
分类: C/C++转载请注明来源:http://blog.chinaunix.net/uid-26833883-id-3171290.html 图的遍历是树的遍历的推广,是按照某种规则(或次序)访问图中各顶点依次且仅一次的操作,亦是将网络结构按某种规则线性化的过程。 由于图存在回路,为区别一顶点是否被访问过和避免顶点被多次访问,在遍历过程中,应记下每个访
2015-05-20 15:31:40 632
原创 树与二叉树(5.19)
一 树的基本概念 1.树 : 它是n个节点的集合,满足的条件 [1]只有一个根节点[2]其它节点可以看成是多颗子树 2.树的高度 : 节点层数的最大值3.树叶节点 : 没有子节点 4.二叉树 : 每个节点最多两个子节点 5.完全二叉树(1)定义 : 只有最下面两层有度数小于2的节点,且最下面一层的叶节点在最左边(2)特点 : 完全二叉树的
2015-05-19 19:49:07 314
转载 哈夫曼编码
转载请注明来源:http://blog.chinaunix.net/uid-26833883-id-3160434.html前面一节我们知道了,怎样去创建一个哈夫曼树,这一节我们来看看哈夫曼编码。思想:得到哈夫曼树后,自顶向下按路径编号,指向左节点的边编号0,指向右节点的边编号1,从根到叶节点的所有边上的0和1连接起来,就是叶子节点中字符的哈夫曼编码。
2015-05-19 19:42:15 459 1
转载 哈夫曼树
转载请注明来源:http://blog.chinaunix.net/uid-26833883-id-3158234.html哈夫曼树的基本概念:哈夫曼树(Huffman Tree),又叫最优二叉树,指的是对于一组具有确定权值的叶子结点的具有最小带权路径长度的二叉树。(1)路劲(Path):从树中的一个结点到另一个结点之间的分支构成两个
2015-05-19 19:27:09 493
原创 栈和队列(5.18)
队列 本质:是一种线性表,但是它规定先进先出 1.循环队列 数据结构 typedef struct {DATATYPE buf[MAX];int front;//出队的时候操作int rear;//进队的时候操作}LoopQueue; 原则:先进先出(尾入头出) 规定[1]初始化的时候front和rear为0[2]规定队空
2015-05-18 19:53:09 301
原创 表达式计算
栈的应用举例 :栈在表达式计算过程中的应用 :建立操作数栈和运算符栈。运算符有优先级。规则: 自左至右扫描表达式,凡是遇到操作数一律进操作数栈。当遇到运算符时,如果它的优先级比运算符栈栈顶元素的优先级高就进栈。反之,取出栈顶运算符和操作数栈栈顶的连续两个操作数进行运算,并将结果存入操作数栈,然后继续比较该运算符与栈顶运算符的优先级。左括号一律进运算符栈,右括号一律不进运算符栈,
2015-05-18 11:31:01 395
转载 约瑟夫问题
转载请注明来源:http://blog.chinaunix.net/uid-26833883-id-3156964.html设编号分别为:1,2,...,n的n个人围坐一圈。约定序号为k(1 设n=8,k=3,m=4时,如图所示:出列为:6,2,7,4,3,5,1,8算法思路:用一个不带头结点的循环链表来处理Josephu问题:先构成一个有n个结点的
2015-05-18 11:18:38 326
转载 球钟问题
转载请注明来源:http://blog.chinaunix.net/uid-26833883-id-3156950.html球钟问题描述:球钟是一个利用球的移动来记录时间的简单装置。它有三个可以容纳若干个球的指示器:分钟指示器,五分钟指示器,小时指示器。若分钟指示器中有2个球,5分钟指示器中有6个球,小时指示器中有5个球,则时间为5:32。 工作原理:每过一分
2015-05-18 11:07:56 906
原创 循环链表&线性表(5.15)
练习:创建一个n个节点环形链表(不包含头节点),然后输出这个环形链表 例如: LinkNode *create_loop_linklist(int n){当n为10的时候,这个环形链表中有:1,2,3,4,5,6,7,8,9,10 返回第一个数据节点的地址} int printf_loop_linklist(LinkNode *p)
2015-05-15 23:30:52 455
转载 数据结构详解
第一课:数据结构的基本概念和术语第二课:抽象数据类型的表示与实现第三课:算法及算法设计要求第四课:算法效率的度量和存储空间需求第五课:线性表的类型定义第六课:线性表的顺序表示和实现第七课:实验一线性表的顺序存储实验第八课:线性表的链式表示与实现第九课:循环链表与双向链表第十课:栈的表示与实现第十一课:栈的应用第十二课:实验二循环链表实验第十三课:队列
2015-05-14 23:19:14 8149
原创 线性存储&链式存储(5.14)
顺序存储:一 数据结构 (1)数据存储 (顺序存储,链式存储,索引存储,哈希存储)(2)数据间关系(逻辑关系:线性,非线性)(3)数据操作 (增 删 改 查 排序) 二 线性关系-----顺序表 = 存放数据的空间[数组] + 当前数据的个数 1.数据结构 typedef int DATATYPE; typedef stru
2015-05-14 19:20:55 724
原创 c语言实用经典100题
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<
2015-05-13 20:47:08 5531 1
原创 结构体与动态内存(5.11)
结构体与动态内存:一、结构体结构体简介特点:构造类型,可以构造出任何程序员想要的类型。 思考:如何定义一个结构体 struct 结构体名{数据类型 成员变量名;数据类型 成员变量名;数据类型 成员变量名;...;} struct people {int id;char name[20];int score;};
2015-05-11 20:26:30 866
原创 C高级模块化编程--函数(5.8)
模块化编程:一、const指针简介 加上const之后,我们变量的值或者指针的值,不允许修改 1、你不能修改指针所指向的内容const int *p; int const *p; int data = 10;const int *p = &data; *p = 20; 2、你不能改变指针变量存储的值int * c
2015-05-10 14:45:54 817
原创 gdb调试&C语言指针高级编程(5.7)
GCC编译器简介:一、基本知识了解 GCC是由gun之父Stallman所开发的linux下的编译器。全程为GNU C Complier(GNU c语言编译器)。这是一种早期的说法,早期的时候,它只是用来编译我们的C语言,之后可以多个我们的多门语言都可以进行编译。例如, C,C++,JAVA,ObjectC等等。GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,
2015-05-07 20:22:31 1104
原创 Shell编程基础(5.6)
Shell编程基础:一、网络详解网络基本概念详见 常用命令(1)查看我们的IP地址ifconfig //设置IP地址 sudo ifconfig eth0 192.168.0.100 //设置IP地址和子网掩码 sudo ifconfig eth0 192.168.0.100 netmask 255.255.255.0 //关
2015-05-07 14:03:06 578
原创 Linux进阶命令&文件系统(5.5)
Shell命令:一、shell命令 1、history 显示我们历史命令 2、alias 给我们命令取别名常用:alias dirlist='ls -l' 特殊路径:/home/ubuntu/.bashrc shell命令默认搜索的路径重启生效:source /home/ubuntu/.bashrc 二、环境变量:操作系统
2015-05-06 09:14:06 1042
原创 Linux基础命令及vi编辑器基础(5.4)
Linux历史:一、历史了解丹利斯*里奇 C语言的创造者 李纳斯 Linux内核的创造者 二、linx体系架构linux内核shell文件系统实用程序 三、操作系统思考:操作系统的作用是什么?答:合理的管理和分配资源(硬件资源:CPU,ARM和其他外设,软件资源:进程,线程,应用程序) PC:检测硬件BIO
2015-05-05 10:01:57 880
原创 C语言数据类型(4.21)
C语言回顾 1.数据类型 基本类型 整型 : 小整型[char],短整型[short],整型[int],长整型[long] 浮点型 : 单精度[float],双精度[double] 构造类型 数组 / 结构体 / 联合体/ 枚举 2.运算符 自增/自减 : ++ , --算术运算符: +, - , * , / ,
2015-05-01 18:27:12 539
原创 C语言运算符(4.22)
一 输入和输出 1.整数 [%d] 输入整数 int data; scanf("%d",data);//错误 scanf("%d",地址值); scanf("%d",&data); 注意:在C源中获取变量的地址 : &变量名 int data1,data2; scanf("%d",&data1);scanf("%d",&da
2015-05-01 18:25:35 615
原创 C语言的控制语句(4.23)
一 C语言的控制语句 单分支判断 if语句多分支判断 if...else , if ...else if ....多分支选择 switch ..... case ....循环语句 for while do--while控制循环的语句 break continue跳转语句 goto
2015-05-01 18:21:30 713
原创 C语言的循环语句(4.24)
一 C语言的循环语句---while while(条件){C语言语句;....} 特点:循环判断条件为真的时候,执行循环 思考:写一个和while等价的for? for(;条件;) while(条件) 经验:for语句更多的用在循环次数,while语句更多的用在循环判断? 思考:如何用while写一个死循环?whi
2015-05-01 15:51:34 716
原创 模块化编程--函数(4.30)
一 C语言的函数 1.基本概念 函数是为了完成一个特定的功能封装起来的一段代码。 这样做的好处:提高代码的复用性 C语言中强调模块化编程,一个功能对应一个函数。 排序函数,找最大数函数,找最小函数 2.函数的使用 定义函数 返回值类型 函数名(参数类型 参数1,参数类型 参数2,...){ C语言语句
2015-05-01 15:39:40 459
原创 数组与排序算法(4.27)
一 一维数组的初始化 数组初始化指的在数组定义的时候,给数组赋值,如果一个数组已经定义了,接下来不能在以初始化的形式给数组赋值 初始化形式: 数据类型 数组名[数组元素个数] = {一个元素值,第二个元素的值,....}; int a[5] = {1,2,3,4,5};//a[0]=1,a[1] = 2,a[2] = 3,a[3] = 4,a[4] = 5i
2015-05-01 15:30:34 496
原创 C语言指针变量(4.28)
一 C语言指针变量(草根派) 1.C语言分配内存 定义变量 malloc函数 2.C语言对内存操作 内存标识符号(变量名)内存所在的地址 读内存:变量名 , *地址值写内存:变量名=值,*地址值 = 值3.C语言的两种变量 普通变量 : 保存数值 定义:数据类型 变量名;int
2015-05-01 11:34:42 534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人