摘要: 先来段基本知识,百度来的: 冒泡排序定义: 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ... 阅读全文
posted @ 2013-05-15 22:59 Life Is This 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 先来段基础知识:在堆内存分配的方式--->动态内存分配,程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但是问题也很多。不像Java、VB、.NET以及Lisp都有自己的内存管理和垃圾回收机制,C和C++觉得把堆的管理留给你--->程序员,这样使你编程可以更灵活,可以更好的提高程序的性能,但是带来的问题就是内存管理你必须懂,否则你会看到:“卡到没响应的程序”,常见的一个很难处理的错误->内存泄露就很让很多程序猿头疼。呵呵呵,是不是觉得我主要学的是Java、C#等等,他们有 阅读全文
posted @ 2013-04-24 19:59 Life Is This 阅读(242) 评论(2) 推荐(1) 编辑
摘要: 突然发现自己关于c语言的内存方面有很多误区和不明白的地方,所以想写两篇博客主要是关于内存和常见的内存泄露的。<1>.一个由C/C++编译的程序占用的内存分为以下几个部分:(好不容易找到一个比较直观的图片)a.全局初始化数据区/静态数据区(Data Segment),只初始化一次.b.未初始化数据区(BSS),在运行时改变其值.1、栈区(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,程序结束时由编译器自动释。每当一个函数被调用,该函数返回地址和一些关于调用的信息,比如某些寄存器的内容,被存储到栈区。然后这个被调用的函数再为它 阅读全文
posted @ 2013-04-23 22:07 Life Is This 阅读(453) 评论(0) 推荐(1) 编辑
摘要: “这里要用char类型”; “这里要用int类型”; “其实实现这个方法只需要把另一个方法的返回值的类型和传入参数的类型改成float类型就实现了”; “其实这个算法只需要把以前写的那个稍微改动一下就行了”; ……………… 学过面向对象语言的都知道GP这个概念,就是泛型程序设计,说的再明白点就是编写不依赖于具体数据类型的程序,C++作为一门面向对象语言,当然也有泛型这个概念,这就不得不提... 阅读全文
posted @ 2013-04-22 11:58 Life Is This 阅读(467) 评论(0) 推荐(2) 编辑
摘要: 本地提供程序的性能一般比OLE DB或者ODBC提供程序更为出色,因为它是特地为这种数据库所设计的,并且它在应用程序和数据库之间消除了一个间接层。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data.SqlClient;using System.Data.OleDb;using System.Data.Odbc;namespace SqlCon{ class Program { ... 阅读全文
posted @ 2013-04-11 22:29 Life Is This 阅读(140) 评论(0) 推荐(1) 编辑
摘要: 概说: 1.值类型变量中直接储存变量的值,值类型的实例在内存中的储存位置叫栈(stack)。性能很好,值类型只限于存在很小一块的数据(所以的值类型必须小于16字节) 2.引用类型将其数据的地址保存在堆栈中,地址所指向的实际数据,保存在称为堆(heap)的内存区域中。 对于堆和栈: 栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中... 阅读全文
posted @ 2013-03-17 18:29 Life Is This 阅读(503) 评论(4) 推荐(2) 编辑