上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 1.用VC建立一个WIN32 DLL我们利用VC编写DLL有几种方法.如果用VC建立一个WIN32 DLL 工程.那这个工程就应该只导出C++的类或全局变量.和全局函数.方法就是在CPP文件中编写你的代码,为每个需要导出的元素进行导出办法是增加如下语句:_declspec(dllexport)你当然可以把它定义成宏例如,如果是一个类STUDENT需要导出, 那么声明时应该是这样写 class _declspec(dllexport) student;当然也可以定义时直接导出.我们的客户端,也就是我们调用该函数的客户程序,就需要导入这个类或者函数..填写如下语句:class _declspec( 阅读全文
posted @ 2009-10-19 10:37 maxweii 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 视图的含义  从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。  视图是一个虚拟表,其内容由查询定义。视图是存储在数据字典里的一条select语句(视图的本质).同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对 阅读全文
posted @ 2009-10-17 20:57 maxweii 阅读(272) 评论(0) 推荐(0) 编辑
摘要: PL/SQL单行函数和组函数详解  函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:    单行函数 组函数   SQL中的单行函数  SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY等子句中,例如下面的例子中就包含了TO_CHAR,UPPER,SOUNDEX等单行函数。SELECT ename,TO_CHAR(hiredate,'day,DD-M 阅读全文
posted @ 2009-10-17 20:47 maxweii 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 1.解决乱码的问题:%@page contentType="text/html;charset=GBK2312"%%request.setCharacterEncoding="GBK";%2.JDBC编程步骤: 必须捕获异常try...catch...finally,加注释 (1)load the driver: a. class.forName()|class.forName().newlnstance()|new DriverName() b.实例化时自动向driverManager注册 例如,Class.forName("oracle.jdbc.driver.OracleDriv 阅读全文
posted @ 2009-10-17 20:43 maxweii 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。序号 方 法 说 明 1 object A getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用属性名的枚举 3 String getCharacterEncoding() 返回字符编码方式 3 String setCharacterEncoding() 设置字符编码方式4 int getContentLength() 返回 阅读全文
posted @ 2009-10-17 18:53 maxweii 阅读(417) 评论(0) 推荐(0) 编辑
摘要: NET 框架类库是一个由 Microsoft .NET 框架 SDK 中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,并且被设计为 .NET 框架应用程序、组件和控件的生成基础。文档约定用法异常线程安全命名空间.NET 框架类库提供下列命名空间: Microsoft.CSharp 包含支持用 C# 语言进行编译和代码生成的类。 Microsoft.JScript 包含支持用 Jscript 语言进行编译和代码生成的 JScript 运行库和类。 Microsoft.VisualBasic 包含 Visual Basic .NET 运行库。此运行库与 Visual Basic .NE 阅读全文
posted @ 2009-10-17 17:25 maxweii 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 在类声明的内部声明或定义的成员函数叫做内联(INLINE)函数.  有两种实现方式:  1.在类声明的内部声明,而在类声明外部定义叫做显式内联函数,如:  class display  {   int t;  public:  void output(void)  }  display object;  inline void display::output(void)  {  cout "i is " i "\n";  }  2.在类声明的内部定义,叫做隐式内联函数,如:  class display  {   int t;  public:  inline void out 阅读全文
posted @ 2009-10-16 19:19 maxweii 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 下面的是学C++时要注意的。绝对经典。!! 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 6.会用Visual C++,并不说明你会C++ 阅读全文
posted @ 2009-10-16 19:13 maxweii 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1、在cpp文件中调用c文件中实现的函数的时候,需要用extern "C"声明该函数,否则cpp会按名字改编后的函数名去找该函数而找不到。(这是作用)cpp文件调用c文件中函数如下: c文件中有一函数: void Transfer(int a; char b); cpp文件中必须用extern "C"声明该函数如下才可以实行调用: extern "C" void Transfer(int a; char b);2、在cpp文件中实现的函数,c文件若要调用,就必须在cpp文件中用extern "C"来声明该函数,否则cpp在编译过程中就会对其进行名字改编,c文件就找不到该函数的原型。(这是作用) 阅读全文
posted @ 2009-10-16 16:16 maxweii 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 举例子说明一切。JAVA_HOME: C:\j2sdk1.4.2_13Path: C:\j2sdk1.4.2_13\bin;Classpath:.;JAVA_HOME\lib\tools.jar ; JAVA_HOME\lib\dt.jar;.;C:\j2sdk1.4.2_13\lib\tools.jar;C:\j2sdk1.4.2_1\lib\dt.jar; 阅读全文
posted @ 2009-10-16 10:26 maxweii 阅读(156) 评论(0) 推荐(0) 编辑
摘要: __cdecl (C Declaration缩写)__fastcall与 __stdcall (Standard Call缩写)调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall(被调者弹参,)调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈, 即自身清除。2、_cdecl (调用者弹参)是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的 阅读全文
posted @ 2009-10-16 08:21 maxweii 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 在语言方面常常有着这样的规律,很多人在学会一门语言之前,先学会了它的“精髓”(粗俗的话语),不管这正确与否,尝试一下,或许等你能够流畅的用英语骂人的时候,你的口语也得到了很大的提高了。1. Stop complaining! 别发牢骚!2. You make me sick! 你真让我恶心!3. What’s wrong with you? 你怎么回事?4. You shouldn’t have done that! 你真不应该那样做!5. You’re a jerk! 你是个废物/混球!6. Don’t talk to me like that! 别那样和我说话!7. Who do you 阅读全文
posted @ 2009-10-13 16:40 maxweii 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 在Visual C++下开发Oracle库接口主要有两种方法。一种方法是利用Visual C++提供的多种数据库访问技术,如开放数据库连接ODBC、熟据存取对象DAO、对象连接和嵌入数据库OLE DB和ActiveX数据对象ADO等。另一种方法是在Visual C++中嵌入SQL语句,这就是所指的Pro*C/C++(本文简称PROC)。前一种方法由于有MFC 强大的类库支持,熟悉VC编程时则实现方便,且可移植性强;但是,与PROC 相比,应用程序需要经过两层才能和数据库通信接口建立联系,编程相对复杂,执行效率相对较低。PROC支持嵌入式PL/SQL 块等直接调用Oracle 库,将过程化语言和 阅读全文
posted @ 2009-10-12 18:14 maxweii 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难。这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍的制约,严重影响到对新技术的理解和消化。首先编程本身就依赖于英语,虽然现在技术的发展,可以使得某些开发工具在变量名和字段名中支持中文,但还未发现能够完全使用中文的编程语句。其次,软件开发中的技术文档和资料大都是来自英文,即使有翻译好的,不是晦涩难懂,就是译法混乱,比如:roll back就有"回滚"、"回退"、"返回"、"重算"等多种译法,又如我们遇到翻译后的术语"域",往往不清楚译者是根据"field"、"region"还是 阅读全文
posted @ 2009-10-12 15:28 maxweii 阅读(174) 评论(0) 推荐(0) 编辑
摘要: * 今天看了c++发明人的the c++ programming language(special edition)关于临时对象的说明,虽然是一小节,但感觉c++的书籍,论内容还是这本最权威,里面很多东西都直接确定的表达了出来,权威、确定而令人信服。临时对象的生存时限在这本书中只花了不长的篇章,但说的很清楚,临时对象的生存时限 限制在其出现的“完整”的表达式中,“完整”的表达式结束了,临时对象也就销毁了。例外是把临时对象被引用或者初始化给具名对象,临时对象的生存周期会加长到引用或者具名对象的生存周期。底下的简短程序测试了临时对象的生存时限,vs2005很好的说明了临时对象在其“完整”表达式结束 阅读全文
posted @ 2009-10-10 08:52 maxweii 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 首先由一个程序引入话题:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1//环境:vc6+windowssp22//程序13#includeiostream45usingnamespacestd;67structst18{9chara;10intb;11shortc;12};1314structst215{16shortc;17chara;18intb;19};2021intmain()22{23cout"sizeof(st1)is" 阅读全文
posted @ 2009-10-10 08:47 maxweii 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 1、容器(Containers):各种数据结构,如Vector,List,Deque,Set,Map,用来存放数据,STL容器是一种Class Template,就体积而言,这一部分很像冰山载海面的比率。2、算法(Algorithms):各种常用算法如Sort,Search,Copy,Erase,从实现的角度来看,STL算法是一种Function Templates。3、迭代器(Iterators):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”,共有五种类型,以及其它衍生变化,从实现的角度来看,迭代器是一种将:Operators*,Operator-,Operator++,Operato 阅读全文
posted @ 2009-10-09 10:06 maxweii 阅读(2371) 评论(0) 推荐(0) 编辑
摘要: 前置++:type operator++(); 后置++:const type operator++(int ); 为了编译器区分前置和后置++,C++规定后缀形式有一个int类型参数 ,当函数被调用时,编译器传递一个0做为int参数的值给该函数。不这样规定,无法区分,因为都仅以自身对象为入参。 下面是一个简单的例子:class CInt { private : int m_value; //} ;CInt & CInt:: operator ++ ( ) // 前置的是没有参数的,并且返回引用 { this - m_value += 1 ; return * this ;}const CI 阅读全文
posted @ 2009-10-09 10:00 maxweii 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 基础概念[编辑] 定义确定有限状态自动机 是由一个非空有限状态的集合 Q 一个输入字母表 Σ(非空有限字符的集合) 一个转移函数(单值映射) (例如:) 一个开始状态 一个接受状态(终结状态)的集合 所组成的5-元组。因此一个DFA可以写成这样的形式: 。[编辑] 非正式的语义确定有限状态自动机一个字符接一个字符的读入一个字符串 ,并根据给定的转移函数一步一步的转移至下一个状态。在读完该字符串后,如果该自动机停在一个属于F的接受状态,那么它就接受该字符串,反之则拒绝该字符串。[编辑] 扩展转移函数为了能够对DFA的命题进行证明,需要一个数学上的正式的语义定义。为此我们定义一个扩展的转 阅读全文
posted @ 2009-09-29 14:53 maxweii 阅读(1345) 评论(0) 推荐(1) 编辑
摘要: 在继承时采公开(public)继承的方式来继承一个类别时,父类别与子类别为"is-a"的关系,子类别继承父类别的公开(public)介面及受保护(protected)的成员,子类别是父类别的细化型态。 保护(protected)继承可以改变继承下来的基底类别成员权限,保护的意思就是让这些成员继承下来之后,保护它们仅能在类别与衍生类别中使用,保护继承的语法如下所示: class B : protected A { // 实作 };保护继承时使用protected来继承基底类别,继承下来的成员在衍生类别中的权限变为如下:基底类别衍生类别 private不继承 protectedprotected 阅读全文
posted @ 2009-09-29 11:06 maxweii 阅读(726) 评论(0) 推荐(0) 编辑
摘要: #define swap(x,y) {int s=x;x=y;y=s;}换行的写法#define swap(x, y)\int temp = x;\x = y;\y = temp;#define swap(x,y) {x= x+y;y=x-y;x=x-y;}换行的写法#define swap(x,y)\x=x+y;\y=x-y;\x=x-y;\ 阅读全文
posted @ 2009-09-28 10:38 maxweii 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)— 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区—常量字符串就是放在 阅读全文
posted @ 2009-09-27 15:10 maxweii 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你就定义了一个枚举类型的变量叫box,这个枚举变量内含有两个元素也称枚举元素在这里是pencil和pen,分别表示铅笔和钢笔。 这里要说一下,如果你想定义两个具有同样特性枚举类型的变量那么你可以用如下的两种方式进行定义 阅读全文
posted @ 2009-09-27 10:40 maxweii 阅读(294) 评论(0) 推荐(0) 编辑
摘要: typedef与#define 的区别一、typedef的用法 typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT; typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。二、#define的用法 #define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了,但也因此难 阅读全文
posted @ 2009-09-26 22:44 maxweii 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 解决外部符号错误:_main,_WinMain@16,__beginthreadex -!t'my`yK 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有柚煤孟钅坎问? 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: m1+4#' libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main (gd){j LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbo 阅读全文
posted @ 2009-09-24 18:31 maxweii 阅读(270) 评论(0) 推荐(0) 编辑
摘要: /*------------------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!" in client area (c) Charles Petzold, 1998 -----------------------------------------------------------------------*/#include <windows.h>LRESULT CALLBACK WndProc (HWND, 阅读全文
posted @ 2009-09-24 18:22 maxweii 阅读(350) 评论(0) 推荐(0) 编辑
摘要: #include "stdio.h"#include "malloc.h"typedef int elemtype;struct node{ elemtype data; struct node *next;};typedef struct node NODE;NODE * creat(NODE *head){ NODE *p,*q; elemtype i; head=(NODE*)malloc(sizeof(NODE)); scanf("%d",&(head-data)); p=head; while(p-data!=0)//0为结束符 { q=(NODE*)malloc(sizeof 阅读全文
posted @ 2009-09-23 22:32 maxweii 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 移码(又叫增码)是符号位取反的补码,(先将符号位取反,再取补码,意思就是正数只将+变为1,负数将-变为0,再取补): X=+1011 [X]移=11011 符号位“1”表示正号  X=-1011 [X]移=00101 符号位“0”表示负号一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。 一、原码 求原码:X≥0,则符号位为0,其余照抄; X≤0,则符号位为1,其余照抄。 【例1】X=+1001001 [X]原 = 01001001 【例2】X=-1001001 [X]原 = 11001001 二、反码 求反码:若X≥0,符号位为0,其余照抄; 若X≤0,符号位为1,其余按位取反 阅读全文
posted @ 2009-09-23 16:00 maxweii 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream>using namespace std;class CExample {private: int a;public: CExample(int b) { a=b;} void Show () { cout<<a<<endl; }};int main(){ CExample A(100); CExample B=A; B.Show 阅读全文
posted @ 2009-09-23 10:31 maxweii 阅读(1475) 评论(0) 推荐(1) 编辑
摘要: Bill Joy, 前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的BSD。他还是vi和csh的作者。当然,Csh Programming Considered Harmful 是另一个话题乐。据说他想看看自己能不能写个操作系统,就在三天里写了个自己的Unix, 也就是BSD的前身。当然是传说了,但足见他的功力。另一个传说是,1980年初的时候,DARPA让BBN在Berkley Unix里加上BBN开发的TCP/IP代码。但当时还是研究生的B伯伯怒了,拒绝把BBN TCP/IP加入BSD,因为他觉得BBN的TCP/IP写得不好。于是B伯伯出手了,端的是一箭封喉,很快就写出 阅读全文
posted @ 2009-09-22 22:29 maxweii 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 一:宏定义不能换行,若要换行须用换行符\ 结论1:对二元运算符,将它重载为一个友元函数比重载为一个成员函数要便于使用。以支持交换率作为一个友元函数,二元运算符不要求第一个参数一定为某类的对象。结论2:对一元运算符,将它重载为一个成员函数最恰当。重载为友员函数也可以。妙招:给指针变量取别名char a = 'M';char *p = &a;char * &pr = p;(取别名首先也是一个指针 故char * 然后才是引用符号,所以char * &pr = p;以及由此推演 给指针的指针取别名 char ** &pr = p;数组名和数组名取地址区别:设int S[5] = {1,2,3,4,5 阅读全文
posted @ 2009-09-21 23:39 maxweii 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 为什么C程序中定义结构时经常要用到typedef呢?如: typedef struct _AM_WIN_MenuText { int idc; int message; } AM_WIN_MenuText; 为什么不直接把结构名定义为AM_WIN_MenuText然后使用就可以了。 取个类型的别名有什么作用呢? --------------------------------------------------------------- 那是因为不取别名的话,每次定义都要加struct ---------------------------------------------------- 阅读全文
posted @ 2009-09-21 22:48 maxweii 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 顺序查找:int SeqSearch(int a[],int n,int k){//在顺序表中查找关键字值等于k的记录, //若查找成功,返回该记录的位置下标序号,否则返回0 int i=0; while (in && a[i]!= k) i++; if (in) return i; else return -1;} 对半查找:int BinarySearch(int a[], const int x, int l, int r){ while (r = l){ int m = (l+r)/2; if (x == a[m]) return m; if (x a[m]) 阅读全文
posted @ 2009-09-21 22:47 maxweii 阅读(235) 评论(0) 推荐(0) 编辑
摘要: C字符串长度定义规范(转载请注明来源于金庆的专栏)因为总是见到C字符串长度相关的错误, 所有定个规范出来, 有利于减少错误.关键在于C字符串有个结尾0, 处理时需要注意.定义字符串长度有两种方式, 一种是用字符串的大小, 一种是字符串的长度.字符串的大小即内存空间的大小, 而串长度加1才是所需空间. 例 “hello”共5个字符,在内存占6个字节 字符串长度5 也就是说sizeof()和strlen()的区别。正确:char str[MAX_SIZE];char str[MAX_LEN + 1];错误:char str[MAX_SIZE + 1];char str[MAX_LEN];如strn 阅读全文
posted @ 2009-09-20 20:00 maxweii 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 对于原语类型的数组,如int[] a,在C里面只要这样定义之后就可以用a[i]使用了,但是在JAVA里面是不行的,必须用int[] a = new int[LENGTH];来为数组分配空间。这里的a更应该看成C里面的指针,它和C里面的int* a是一样的,因为这个a(C里面的)也要先malloc一个空间之后才可以用。 对于对象数组,则要“两次分配”,如: Object[] obj = new Object[2]; obj[0] = new Object(); obj[1] = new Object(); 因为数组首先是一个句柄,而这个句柄指向的2个空间里面又是存 阅读全文
posted @ 2009-09-19 23:05 maxweii 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 每个人做人办事的手段都是不一样的,可以讲,一个人就有一种手段,一个人就有一种靠自己手段获得成功的途径。无数事实表明,有些人就是太过于自信,想念自己确认的手段能够解决任何问题,但不知道这种往往是起不到任何作用。因此,他们总觉得离成功的目标不是越来越近,而实际上越来越远。人生的计划和行动,是需要靠章法来完成的,而不是靠一些怪招去谋划的。这就好比在拳击台比赛一样:两个拳手相互较量,激战正酣,进退躲闪、扑让攻守,都有相当灵活的步伐和拳路,他们的一招一式都是为成功而做准备的,这一招一式就叫手段。可惜的是,有很多人并不能看到这一招一式的寓意。手段是成功的保证,没有手段的行动和计划一定是事倍功半的,孙悟空与 阅读全文
posted @ 2009-09-17 22:49 maxweii 阅读(186) 评论(0) 推荐(0) 编辑
摘要: break和continue的区别如下: 1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句 2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。举例说明。 int i; int s = 0; for (int i = 1; i = 10; i++) { if (i == 6) break; s += i; } 上面的循环会因为break语句而在i=6时提前终止,这 阅读全文
posted @ 2009-09-17 21:48 maxweii 阅读(366) 评论(0) 推荐(0) 编辑
摘要: void shellsort(int a[],int n){ for(int d=n/2;d=1;d=d/2) { for(int i=d;in;i++) //将a[i]插入到所属组的有序列段中 { int temp = a[i]; int j=i-d; while( j=0 && tempa[j]) { a[j+d]=a[j]; j=j-d; } a[j+d]=temp; } }} 以上是shell排序void BubbleSort(int a[],int n){ for (int i=n-1;i=1;i--)//这 阅读全文
posted @ 2009-09-17 12:48 maxweii 阅读(179) 评论(0) 推荐(0) 编辑
摘要: void insertsort (DataType a, int n){ for (i=2; i=n; i++) //需要n-1趟,此时数组其实是从1开始而不是0, { a[0]=a[i]; //将a[i]赋予监视哨a[0],其实a[0]相当于temp变量。 j=i; while (a[0].keya[j-1].key) //搜索插入位置 { a[j]=a[j-1]; j--; } a[j]=a[0]; // 将原a[i]中的记录放入第j+1个位置}}修改后:void insertsort (DataType a, int n){ for (i=1; in; i+ 阅读全文
posted @ 2009-09-16 23:53 maxweii 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 好好找篇文章,不行自己思考总结。 阅读全文
posted @ 2009-09-15 14:40 maxweii 阅读(986) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页