摘要: 第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种:(1)加减法。a = a + b;b = a - b;a = a - b;该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失,例如对数据:a = 3.123456b = 1234567.000000交换后各变量值变为:a = 1234567.000000b = 3.125000很明显,原来a的值在交换给b的过程中发生了精度损失。(2)乘除法。a = a * b;b = a / b;a = a / b;乘除法更像是加减法向乘除运算的映射,它与加减法类似:可以处理整型和浮点型变量,但在处理浮 阅读全文
posted @ 2013-03-22 09:46 小叫花子 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.csdn.net/morewindows/article/details/6684558快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,快速搞定。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它 阅读全文
posted @ 2013-03-22 09:45 小叫花子 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。View Code 1 //将有序数组a[]和b[]合并到c[]中 2 void MemeryArray(int a[], int n, int b[], int m, int c[]) 3 { 4 int i, j, k; 5 6 i = j = k =... 阅读全文
posted @ 2013-03-22 09:33 小叫花子 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。设数组为a[0…n-1]。1. 初始时,数组全为无序区为a[0..n-1]。令i=02. 在无序区a[i…n-1]中选取一个最小的元素,将其与a[i]交换。交换之后a[0…i]就形成了一个有序区。3. i++并重复第二步直到i==n-1。排序完成。直接选择排序无疑是最容易实现的,下面给出代码:View Code 1 void Selectsort(int a[], int n) 2 { 3. 阅读全文
posted @ 2013-03-22 09:28 小叫花子 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。以n=10的一个数组49, 38, 65, 97, 26, 13, 27, 49, 55, 4为例第一次 gap = 10 / 2 = 549 38 65 97 2 阅读全文
posted @ 2013-03-22 09:19 小叫花子 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://blog.csdn.net/morewindows/article/details/6665714直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。设数组为a[0…n-1]。1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12. 将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。3. i++并重复第二步直到i==n-1。排序完成。下面给出严格按照定义书写的代码(由小到大排序):View Code 1 void . 阅读全文
posted @ 2013-03-22 09:06 小叫花子 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.csdn.net/morewindows/article/details/6657829wiki资料:http://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95http://www.cnblogs.com/melon-h/archive/2012/09/20/2694941.html冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数 阅读全文
posted @ 2013-03-21 21:28 小叫花子 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 关于jsp程序出现Error initializing endpoint错误开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"假如我们需要确定谁占用了我们的80端口1、Windows平台在windows命令行窗口下执行:C:\>netstat -aon|findstr "80" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448看到了吗 阅读全文
posted @ 2013-03-21 20:30 小叫花子 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1.使用out对象out对象是指JSP文件中用来向客户端发送输出流的对象(<br>表示空行<hr>表示分割线)2.使用request对象request对象用来封装客户端请求,通过它可以获得客户端传递到服务器的数据,以及关于客户端的一些信息该对象常用的方法及其功能说明如下:...省略View Code 1 <%@page contentType="text/html;charset=UTF-8" import="java.io.*"%> 2 Request对象的方法: 3 <hr> 4 <% 5 jav 阅读全文
posted @ 2013-03-21 20:10 小叫花子 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.在c++中,当(且仅当)用于函数头或函数原型中,int*arr和intarr[]的含义才相同他们都意味着arr是一个int指针2.int age=39 const int* pt=&age (理解为pt指向const int类型变量)注意pt的声明并不意味着它指向的值实际上就是一个常量,而只是意味着对pt而言,这个值是常量,即可以直接通过age变量来修改age的值,但不能使用pt指针来修改它。可以将一个新地址赋给pt,但仍然不能使用pt来修改他所指向的值int sloth=3; int* const finger=&sloth finger只能指向sloth,但允许使用fi 阅读全文
posted @ 2013-03-19 21:09 小叫花子 阅读(102) 评论(0) 推荐(0) 编辑