- 博客(34)
- 资源 (1)
- 问答 (7)
- 收藏
- 关注
原创 java内部类
1、成员内部类 特点: 一、可以使用外部类的任何成员,包括private的。 直接使用或者OuterClass.this.xxxxx 二、修饰符更丰富 private
2015-12-09 23:31:56
654
原创 Java图形界面编程(一)
初步认识swing awt 和java2DAWT(abstract Window Toolkit)是java发布的第一个图形界面库。AWT通过调用系统本地的库,来创建和显示控件。AWT 的组件都是使用的native code来编写的。所以AWT 的组件扩展性不高。现在人们更愿意使用swing。同时AWT也提供界面的事件处理机制。Swing。Swing 的
2015-12-08 23:30:04
7252
1
原创 图形显示之RGB
记得初中学数学几何时,有这样一句话:点运动成线,线运动成面,面运动成体。 其它方面也有相似的原理。 例如常见的gif动态图,就是由一帧一帧的图片快速切换得到的。那么,图片又是怎么显示的呢? 一副图片是由许多图形元素组成的----也就是我们常说的像素。在黑白图片时代,一个像素点只有2种状态:黑和白,对应于二进制的1和0。于是,许多细小的像素点就"画出"了一张图片。
2015-12-06 23:19:12
1217
原创 python 之 推导式
推导式 : 英文 comprehension 支持推导式的有列表list 字典dict 集合set 注意元组没有 推导式,如果你那样去写,他会变成一个generator生成器对象 推导式会让代码更加简洁,易懂,更加pythonic列表: [ expression for .....
2015-08-26 22:39:01
817
原创 python 之 range()
range 是一个类,这个类用来实例化生成一个有序的整数序列.range类中定义了__iter__()特殊方法,说明range 类的实例对象都支持迭代. __len__()方法说明 range对象可以用 len( ) 来获取容器的元素数量 __contains__方法说
2015-08-26 22:09:09
664
原创 python 之 utf-8编码的秘密
python3的默认编码方案是utf-8编码,看了些资料,来做总结。要说utf-8,就要说说unicode,要说unicode,就要说ASCII,我们还是慢慢来。1.ASCII ASCII编码最初是由老美搞出来的,满足了英文在计算机中的的表达和存储。开始呢,ASCII使用一个字节的后7位来进行编码。每位有0,1 两种状态,那么就有2^7个数(十进制从0~1
2015-08-21 16:40:59
3932
原创 python对象数据的读写权限
面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。 类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。 下面就来
2015-08-18 12:12:23
1153
转载 栈和堆的区别
转自: http://book.51cto.com/art/200811/96139.htm3.1.2 栈和堆的区别前面已经介绍过,栈是由编译器在需要时分配的,不需要时自动清除的变量存储区。里面的变量通常是局部变量、函数参数等。堆是由malloc()函数(C++语言为new运算符)分配的内存块,内存释放由程序员手动控制,在C语言为free函数完成(C++中为delete)。栈和
2015-08-14 22:29:05
428
原创 python 中del 的用法
python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题。python的del不同于C的free和C++的delete。由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。if __name__=='__main__': a=1 # 对象 1 被 变量a引
2015-08-04 18:23:07
143454
2
原创 Python之集合(set)
一种语言它越便捷,开发效率越高,初学阶段就会越困难。因为语言的设计者帮你造了大量的轮子,你就要掌握如何使用这些轮子。所以,对初学Python来说,记忆的东西很多。进入正题。集合就像是抛弃了值(value)的字典,也就是说:集合(set)里面只有键,而且每个键都是独一无二的,不会有重复。并且集合也是无序 的。集合的使用意义在与:把所有的元素放在集合里面,然后测试某
2015-07-30 10:25:08
580
转载 Python的深拷贝与浅拷贝
一、前奏:熟悉Python内存管理在Python中,变量在第一次赋值时自动声明,在创建—也就是赋值的时候,解释器会根据语法和右侧的操作数来决定新对象的类型。引用计数器:一个内部跟踪变量引用计数:每一个对象各有多少个引用当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被设置为 1 x = 3.14 语句 x=3.14,创建一个浮点型对象并将其引用赋
2015-07-29 22:17:17
456
原创 python之列表(list)
列表(list)和元组(tuple)都是有序序列(sequence),一个列表(或者元组)可以包含0个或多个元素,与字符串序列不同的是:他们包含的元素的类型可以互不相同。事实上,他们的每一个元素都可以是python中的任何一种类型。列表是可以更改的。你可以随意往列表里插入或者删除列表元素。1.创建列表 li=[ ] #创建一个空列表
2015-07-02 22:11:15
1155
转载 Linus:利用二级指针删除单向链表
Linus大神在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。下面是Linus的教学原文及翻译——“At the opposite end of the spectrum, I actually wish more people understoo
2015-06-25 11:42:35
469
原创 漫谈C语言随机数
来说说C语言如何产生随机数。有人会说这不简单?time() + srand() + rand() 3个函数不就OK了吗?是的,不过,我们还是来看看原理比较好,也就是随机数是如何产生的。这不无聊。C本来就不是一门太高级的语言。这句话并不是贬义的。首先,我要说的是:计算机本身是不能产生随机数的。计算机再如何先进,终究是一部机器。它没有逻辑思维,只会计算,却不懂怎样算,怎么能产生
2015-06-23 22:55:02
1116
1
转载 python中的类,对象,方法,属性等介绍
注:这篇文章写得很好。加底纹的是我自己的理解python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象。。。。。。 我们通过描述属性(特征)和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征。它会汪汪叫,会摇尾巴等是它的行为。我们在描述一个真实对象(物体)时包括两
2015-06-22 14:47:48
2874
原创 python传值机制
作为一个python初学者,今天被一个python列表和词典引用的问题折磨了很久,但其实了解了缘由也很简单,记录在此备忘。首先背书python中的引用对象问题:1. python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值—
2015-06-22 00:28:16
629
转载 python2与python3的区别
看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又不同于其他语言,向下兼容,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2的,下面就来总结一下python2和python3的区别。 1.性能 Py3
2015-06-22 00:19:04
564
原创 循环队列的实现
队列就是一个特殊的线性表。特殊在于队列只允许在队头删除元素,在队尾添加新元素。和我们生活中的排队是一个道理。队列的一种实现方式是用数组,但是用数组就会出现队列“假满”的情况。于是循环队列就诞生了。这只是逻辑结构,数组在内存的物理结构是不变的。我们关心的正是逻辑结构下面是关键的几点:1.初始化 front=rear=0;
2015-06-16 12:55:57
550
原创 链式栈的接口实现
1.栈的特点是 先进后出 。2.链式栈没有限定容量(MAXSIZE),也就是栈可以容纳的元素取决于内存分配。对特定的程序,用不同的方法实现,如还可以用数组式的栈。3.实际上是一个没有头节点的链表,只不过对操作做了限定4.把栈顶元素定为 链表的第一个节点,也就是头指针指向的结点为栈顶,这样在压栈和出栈是方便操作。5.下面是对链式栈的实现,并写了一个驱动程序进行测试。6..驱动
2015-06-14 11:54:43
445
原创 链表接口的实现
# include # include # include # define StopCondition t!=0 /***根据实际程序需要修改***/typedef int DataType; /***根据实际程序需要修改***/typedef struct node{ DataType data; struct node *next; }No
2015-06-13 14:15:19
795
原创 约瑟夫环问题的解决
约瑟夫环问题介绍:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。# include # include # include typedef int DataTp;typedef struct node{
2015-06-12 20:37:18
547
原创 再谈指针
前面大致对指针有一定的了解,最近在往后学习 的过程中对指针这玩意儿又有了新的理解。我认为:指针有2个属性。一:指针的值(value)二:指针管辖的宽度(width)# include int main (void){ int arr[5]={1,2,3,4,5}; int *p1=arr; int (*p2)[5]=&arr; return
2015-06-07 16:22:32
391
转载 static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable
2015-04-01 13:08:53
431
转载 算法时间复杂度的衡量
算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。 随着计算机硬件和软件的提升,一个算法的执行时间是算不太精确的。只能依据统计方法对算法进行估算。我们抛开硬件和软件的因素,算法的好坏直接影响程序的运行时间。 我们看一下小例子: int value = 0; // 执
2015-03-29 16:08:59
1705
转载 C内存管理
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些
2015-03-23 23:30:57
619
转载 优秀的程序员都应当知道的11个警句
2015-3-21 23:40:37来源:51CTO所有的的问题都可以进行分解。而最优雅的解决方案通常都非常简单。但是,要变得简单并不容易,这需要许多的工作。1.技术只是解决问题的选择,而不是解决问题的根本我们可以因为掌握了最新的JavaScript框架ahem、Angular的IoC容器技术或者某些编程语言甚至操作系统而欢欣雀跃,但是这些东西并不是作为程序员的我们
2015-03-22 12:07:28
567
原创 char*str与char str[]的差异。
下面是几个错的例子:1# include int main(void){ char *str; scanf("%s",str); //error return 0;}2# include int main(void){ char *str; gets(str); //error return 0;}3# include # include
2015-03-18 22:14:02
4169
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(
2015-03-14 15:57:30
476
原创 个人关于指针的理解
指针是什么?如何理解指针?因为指针是抽象的,所以这里我把它拟物化,这样解释也许跟容易懂。指针的专业解释是:指针是内存单元的编号。说明:以下的黑方框都代表一个字节1)对于内存。 我们一般认为内存的基本单位是字节,内存空间由很多字节组成的。 内存可以存储数据,所以我们把每个字节当做是一个“箱子”。 数据存入内存就好比在箱子里面放数据
2015-03-13 18:11:58
565
原创 关于scanf()函数的细节
scanf()是C中用的较多的一个输入函数。基本用法:scanf("转换说明符",变量地址); 转换说明符的作用有2个,一:占位,与后面的变量地址一一对应。二:表明输入数据的形式输入数字1)输入一个整数 scanf( " %d " , &a ); //注意:不要在%d后面加/n 工作特点:此时,scanf( ) 会扫描输入
2015-02-28 13:46:34
923
转载 关于漏洞
如果一个程序有错误,并且只在某些特殊的情况下面出现,它并不是什么大问题。通常,你能够避开这些特殊的情况,使得程序中的错误故障不会发生危害。你甚至可以按照你的意愿,在你的程序中加入这些小小的“臭虫”。 但是,有时有些程序处于安全界限的边缘位置。他们从另外的程序作为输入,但不是按照程序本来的存取方法。 我们常见的一些例子:你从的邮件阅读器读取任何人给你发的邮件,然后显示在你的显示器上,而它们本
2015-02-27 15:13:03
691
转载 关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别
2015-02-22 11:06:39
464
汇编中的mov指令的基本使用
2017-06-08
C++中全局static函数需要在头文件中声明吗?
2016-10-19
一个困惑:EOF与feof()怎么用
2015-03-31
关于缓冲区的疑惑(C语言)
2015-03-19
字符数组与字符指针的问题
2015-03-18
啊c数据储存区的问题啊
2015-03-14
关于用浮点数做精确判断的问题
2015-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人