自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

code力力

博客已转移到:cnblogs.com/lulipro

  • 博客(34)
  • 资源 (1)
  • 问答 (7)
  • 收藏
  • 关注

原创 java内部类

1、成员内部类     特点:               一、可以使用外部类的任何成员,包括private的。                       直接使用或者OuterClass.this.xxxxx                                     二、修饰符更丰富                        private

2015-12-09 23:31:56 600

原创 Java图形界面编程(一)

初步认识swing  awt  和java2DAWT(abstract Window Toolkit)是java发布的第一个图形界面库。AWT通过调用系统本地的库,来创建和显示控件。AWT 的组件都是使用的native code来编写的。所以AWT 的组件扩展性不高。现在人们更愿意使用swing。同时AWT也提供界面的事件处理机制。Swing。Swing 的

2015-12-08 23:30:04 7174 2

原创 图形显示之RGB

记得初中学数学几何时,有这样一句话:点运动成线,线运动成面,面运动成体。    其它方面也有相似的原理。    例如常见的gif动态图,就是由一帧一帧的图片快速切换得到的。那么,图片又是怎么显示的呢?    一副图片是由许多图形元素组成的----也就是我们常说的像素。在黑白图片时代,一个像素点只有2种状态:黑和白,对应于二进制的1和0。于是,许多细小的像素点就"画出"了一张图片。 

2015-12-06 23:19:12 1134

原创 python 之 推导式

推导式 : 英文 comprehension 支持推导式的有列表list      字典dict      集合set      注意元组没有 推导式,如果你那样去写,他会变成一个generator生成器对象 推导式会让代码更加简洁,易懂,更加pythonic列表: [       expression        for   .....

2015-08-26 22:39:01 737

原创 python 之 range()

range 是一个类,这个类用来实例化生成一个有序的整数序列.range类中定义了__iter__()特殊方法,说明range 类的实例对象都支持迭代.                               __len__()方法说明 range对象可以用 len( ) 来获取容器的元素数量                              __contains__方法说

2015-08-26 22:09:09 620

原创 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 3835

原创 python对象数据的读写权限

面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。      类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。      下面就来

2015-08-18 12:12:23 1098

转载 栈和堆的区别

转自: http://book.51cto.com/art/200811/96139.htm3.1.2 栈和堆的区别前面已经介绍过,栈是由编译器在需要时分配的,不需要时自动清除的变量存储区。里面的变量通常是局部变量、函数参数等。堆是由malloc()函数(C++语言为new运算符)分配的内存块,内存释放由程序员手动控制,在C语言为free函数完成(C++中为delete)。栈和

2015-08-14 22:29:05 399

原创 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 138924 4

原创 Python之集合(set)

一种语言它越便捷,开发效率越高,初学阶段就会越困难。因为语言的设计者帮你造了大量的轮子,你就要掌握如何使用这些轮子。所以,对初学Python来说,记忆的东西很多。进入正题。集合就像是抛弃了值(value)的字典,也就是说:集合(set)里面只有键,而且每个键都是独一无二的,不会有重复。并且集合也是无序 的。集合的使用意义在与:把所有的元素放在集合里面,然后测试某

2015-07-30 10:25:08 488

转载 Python的深拷贝与浅拷贝

一、前奏:熟悉Python内存管理在Python中,变量在第一次赋值时自动声明,在创建—也就是赋值的时候,解释器会根据语法和右侧的操作数来决定新对象的类型。引用计数器:一个内部跟踪变量引用计数:每一个对象各有多少个引用当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被设置为 1 x = 3.14 语句 x=3.14,创建一个浮点型对象并将其引用赋

2015-07-29 22:17:17 425

原创 python之列表(list)

列表(list)和元组(tuple)都是有序序列(sequence),一个列表(或者元组)可以包含0个或多个元素,与字符串序列不同的是:他们包含的元素的类型可以互不相同。事实上,他们的每一个元素都可以是python中的任何一种类型。列表是可以更改的。你可以随意往列表里插入或者删除列表元素。1.创建列表     li=[ ]      #创建一个空列表

2015-07-02 22:11:15 1020

转载 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 429

原创 漫谈C语言随机数

来说说C语言如何产生随机数。有人会说这不简单?time() + srand() + rand() 3个函数不就OK了吗?是的,不过,我们还是来看看原理比较好,也就是随机数是如何产生的。这不无聊。C本来就不是一门太高级的语言。这句话并不是贬义的。首先,我要说的是:计算机本身是不能产生随机数的。计算机再如何先进,终究是一部机器。它没有逻辑思维,只会计算,却不懂怎样算,怎么能产生

2015-06-23 22:55:02 1012 2

转载 python中的类,对象,方法,属性等介绍

注:这篇文章写得很好。加底纹的是我自己的理解python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象。。。。。。  我们通过描述属性(特征)和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征。它会汪汪叫,会摇尾巴等是它的行为。我们在描述一个真实对象(物体)时包括两

2015-06-22 14:47:48 2822 1

原创 python传值机制

作为一个python初学者,今天被一个python列表和词典引用的问题折磨了很久,但其实了解了缘由也很简单,记录在此备忘。首先背书python中的引用对象问题:1. python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值—

2015-06-22 00:28:16 588

转载 python2与python3的区别

看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又不同于其他语言,向下兼容,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2的,下面就来总结一下python2和python3的区别。 1.性能 Py3

2015-06-22 00:19:04 526

原创 循环队列的实现

队列就是一个特殊的线性表。特殊在于队列只允许在队头删除元素,在队尾添加新元素。和我们生活中的排队是一个道理。队列的一种实现方式是用数组,但是用数组就会出现队列“假满”的情况。于是循环队列就诞生了。这只是逻辑结构,数组在内存的物理结构是不变的。我们关心的正是逻辑结构下面是关键的几点:1.初始化         front=rear=0;

2015-06-16 12:55:57 515

原创 链式栈的接口实现

1.栈的特点是 先进后出 。2.链式栈没有限定容量(MAXSIZE),也就是栈可以容纳的元素取决于内存分配。对特定的程序,用不同的方法实现,如还可以用数组式的栈。3.实际上是一个没有头节点的链表,只不过对操作做了限定4.把栈顶元素定为 链表的第一个节点,也就是头指针指向的结点为栈顶,这样在压栈和出栈是方便操作。5.下面是对链式栈的实现,并写了一个驱动程序进行测试。6..驱动

2015-06-14 11:54:43 408

原创 链表接口的实现

# 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 750

原创 约瑟夫环问题的解决

约瑟夫环问题介绍:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。# include # include # include typedef int DataTp;typedef struct node{

2015-06-12 20:37:18 501

原创 再谈指针

前面大致对指针有一定的了解,最近在往后学习 的过程中对指针这玩意儿又有了新的理解。我认为:指针有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 352

转载 static的作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable

2015-04-01 13:08:53 399

转载 算法时间复杂度的衡量

算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。     随着计算机硬件和软件的提升,一个算法的执行时间是算不太精确的。只能依据统计方法对算法进行估算。我们抛开硬件和软件的因素,算法的好坏直接影响程序的运行时间。     我们看一下小例子:     int value = 0;                         // 执

2015-03-29 16:08:59 1627

转载 C内存管理

在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些

2015-03-23 23:30:57 579

转载 优秀的程序员都应当知道的11个警句

2015-3-21 23:40:37来源:51CTO所有的的问题都可以进行分解。而最优雅的解决方案通常都非常简单。但是,要变得简单并不容易,这需要许多的工作。1.技术只是解决问题的选择,而不是解决问题的根本我们可以因为掌握了最新的JavaScript框架ahem、Angular的IoC容器技术或者某些编程语言甚至操作系统而欢欣雀跃,但是这些东西并不是作为程序员的我们

2015-03-22 12:07:28 531

原创 一个图说明文件,数据流,缓冲区的关系。

根据自己的学习领悟做的图,不知对否。

2015-03-19 11:12:46 2336

原创 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 4069

转载 堆和栈的区别

一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(

2015-03-14 15:57:30 441

原创 个人关于指针的理解

指针是什么?如何理解指针?因为指针是抽象的,所以这里我把它拟物化,这样解释也许跟容易懂。指针的专业解释是:指针是内存单元的编号。说明:以下的黑方框都代表一个字节1)对于内存。      我们一般认为内存的基本单位是字节,内存空间由很多字节组成的。      内存可以存储数据,所以我们把每个字节当做是一个“箱子”。       数据存入内存就好比在箱子里面放数据

2015-03-13 18:11:58 527

原创 关于scanf()函数的细节

scanf()是C中用的较多的一个输入函数。基本用法:scanf("转换说明符",变量地址);   转换说明符的作用有2个,一:占位,与后面的变量地址一一对应。二:表明输入数据的形式输入数字1)输入一个整数  scanf( " %d " , &a );           //注意:不要在%d后面加/n  工作特点:此时,scanf( ) 会扫描输入

2015-02-28 13:46:34 796

转载 关于漏洞

如果一个程序有错误,并且只在某些特殊的情况下面出现,它并不是什么大问题。通常,你能够避开这些特殊的情况,使得程序中的错误故障不会发生危害。你甚至可以按照你的意愿,在你的程序中加入这些小小的“臭虫”。 但是,有时有些程序处于安全界限的边缘位置。他们从另外的程序作为输入,但不是按照程序本来的存取方法。 我们常见的一些例子:你从的邮件阅读器读取任何人给你发的邮件,然后显示在你的显示器上,而它们本

2015-02-27 15:13:03 650

转载 关于typedef的用法总结

不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别

2015-02-22 11:06:39 436 2

原创 关于c语言二维数组与指针的个人理解及处理办法。

此文章简要介绍了二维数组和指针以及函数的处理方法。

2015-02-12 21:58:47 2974 1

算法java版

算法java版

2015-05-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除