约瑟夫问题的几种实现
摘要:最近开始复习数据结构,下面是自己写得约瑟夫环的3中实现方式,代码简陋,重要的是理解思想为了图方便,我把n,s,m位设为常数了,这个自己读取也可以的,试验过了n:总共有n个人s:从第s个人开始数1m:到第m个人出列,然后继续从出列的下一个人开始算11: 顺序表的实现#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct{ int data[100]; int length;}SeqList,*PSeqList;void deletefrom(PSeqList p,int po
阅读全文
posted @
2011-10-26 21:21
紫金树下
阅读(256)
推荐(0) 编辑
C++中的多态和继承
摘要:1:关于三种继承方式public继承: 若派生类public继承自基类,则基类的public成员和protected成员也是派生类的public和protected成员, 这是可在派生类的成员函数中显式的访问他们。但基类的private成员派生类不能访问(即既不能通过派生类的对象 , ,指针,引用访问也不能在派生类的成员函数或派生类的友元中访问)。protected继承: 这是基类的public成员和protected成员都是派生类的protected成员,可在派生类的成员函数中访问他们, 但是像public...
阅读全文
posted @
2011-10-12 16:55
紫金树下
阅读(420)
推荐(0) 编辑
C++中的动态绑定
摘要:C++中基类和派生类遵循类型兼容原则:即可用派生类的对象去初始化基类的对象,可用派生类的对象去初始化基类的引用可用派生类对象的地址去初始化基类对象指针。C++中动态绑定条件发生需要满足2个条件:1:只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不能进行动态绑定2:必须通过基类类型的引用或指针进行函数调用基类类型引用和指针的关键点在于静态类型和动态类型可能不同:1:什么是静态类型?就我的理解来说,所谓的静态类型是指,当我们用上述引用或指针去调用非虚函数是,这是的引用和指针就是引种静态类型的,它对非虚函数的调用是在编译时就确定了2:从静态类型的对立来看,所谓的动态类型
阅读全文
posted @
2011-10-10 20:41
紫金树下
阅读(4025)
推荐(1) 编辑
布同:如何循序渐进学习Python语言(转载)
摘要:布同:如何循序渐进学习Python语言 大家都知道Python语言是一种新兴的编程语言。1989年,Python就由Guido van Rossum发明。Python一直发展态势很好。原因有几点:1、跨平台性好。Linux、Windows、MacOS、塞班……。2、快速易学。3、模块齐全。 Python本身是一种面向对象的脚本语言。功能涉及到应用程序开发、网络编程、网站设计、图形界面编程等等,基本囊括众多应用。手机应用开发,电脑PC程序开发,连Google也开始使用python作为其开发语言。很多编程比赛也开始接受python语言。 既然这么有用,那怎么学习呢?废话少说,马上解答。《征服Pyt
阅读全文
posted @
2011-10-10 17:09
紫金树下
阅读(297)
推荐(0) 编辑
C++中运算符的重载
摘要:有4个操作符是不能重载的: :: 。 .* ?: 1:重载赋值(=)运算符 一般我把重载赋值运算符定义为类成员函数(基本上着也是必须得),如果你没有定义自己的重载赋值运算符的话,编译器就会自动生成一个,完成类对象之间逐值的复制。关于在两个类对象赋值 A a,b; a=b; 我们对这个重载函数的形参有以下三种形式: operator=(A); operator=(A&); operator=(const A&); 以上三种形参都是可以的,但是在标准C++中,后两种的定义可能会出现问题啊,所以还是推荐第一种方式(虽然多调用了一次复制构造函数) 关于这个重载函数的返回值,我们应当定义
阅读全文
posted @
2011-10-08 21:11
紫金树下
阅读(426)
推荐(0) 编辑
C++中static类数据成员
摘要:C++中static类数据成员是指以下两种: 类static成员函数 和 类static数据成员一:使用类的static成员的优点 1:static成员的名字是在类的作用域中,因此可以避免与其他类的成员或者全局对象名字的冲突 2:可以实施封装。static成员可以是私有成员,而全局对象不可见 3:通过阅读程序容易看出来static成员与特定类关联的。二:static成员的定义 static成员遵循正常的共有/私有访问规则,不过都可以通过 classname::成员 进行访问,不论成员是私有还是共有三:使用类的static成员 对类的static成员的使用以下几种方式都可以 通过cla...
阅读全文
posted @
2011-10-07 20:50
紫金树下
阅读(1623)
推荐(0) 编辑
深入了解scanf/getchar/gets/cin等函数(转载)
摘要:scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序:程序1: #include <stdio.h> int main() {char ch1, ch2;scanf("%c", &ch1);scanf("%c", &ch2);printf("%d %d/n", ch1, ch2);return 0; } 或者是: #include <stdio.h> int
阅读全文
posted @
2011-10-07 18:59
紫金树下
阅读(302)
推荐(0) 编辑
C++中的友元
摘要:C++中的友元关系分为3种:1:友元类2:友元类成员函数3:友元普通成员函数1:友元类class X{ friend class Y;};在类X的定义中,可以不必对友元类Y进行生命或者定义2:友元普通成员函数class X{ friend void f();};同上,在类X的定义中,不必对普通函数f()进行预先声明3:友元类成员函数例子1:class X{ friend void Y::gety();};这是错误的例子2:class Y{ public: void gety();};class X{ friend void Y::gety();};这是对的,但对gety()函数的...
阅读全文
posted @
2011-10-07 11:31
紫金树下
阅读(207)
推荐(0) 编辑
计算机中数据舍入方式
摘要:计算机中数据的舍入有4种方式1:向偶数舍入2:向0舍入3:向上舍入4:向下舍入其中2,3,4都很好理解,围绕着横坐标看就行: ->0<- 是向下舍入,<-0->是向上舍入那么什么是向偶数舍入呢?向偶数舍入(round to even),我们也成为向最in的值舍入(round to nearest),这里举几个例子说明一下:原始数字 舍入后 1.4 1 2.6 3 1.234999 1.23(要求百分位) 1.235001 1.24(同上)从以上的例子我们可以看到,向偶数舍入和向最接近的值舍入99%的舍入后的结果相似,不过为什么它们叫不同的名字呢?因为在一种特殊情况下..
阅读全文
posted @
2011-10-06 19:34
紫金树下
阅读(1046)
推荐(0) 编辑
计算机中浮点数的表示
摘要:计算机中浮点数的表示,按IEEE754标准位 V=pow(-1,s)*M*pow(2,E)符号(signed): s决定这个浮点数是整数还是负数,当硕士,这个浮点数位正,当s=1是,为负尾数(siginificant):M是一个2进制小数,它的范围是[1,2)或者[0,1)阶码(exponent):E的作痛是对浮点数加权,这个权重是2的E次幂在单精度(32位float)中,s占1位,E占8位,M占23位在双精度(64位double)中,s占1位,E占11位,M占52位根据E的编码,可将浮点数分成三种不同的情况:(以32位float为例)No1: 规格化浮点数 当E的编码既不是00000000并
阅读全文
posted @
2011-10-06 18:54
紫金树下
阅读(677)
推荐(0) 编辑