数据结构&算法
文章平均质量分 73
xiaoliangmei
xiaoliangmei
展开
-
Java排序汇总
package sortAndSearch;import java.util.Random;/** * 排序测试类 * 排序算法的分类如下: * * 1.插入排序(直接插入排序、折半插入排序、希尔排序); * 2.交换排序(冒泡泡排序、快速排序); * 3.选择排序(直接选择排序、堆排序); * 4.归并排序; * 5.基数排序。 * * 关转载 2011-11-18 20:20:13 · 475 阅读 · 0 评论 -
用一维数组存储数据
现实中当数值过大时可能无法存储,比如我们需要存储一个很大的数字,超过数据类型所能存储的范围,依此需求,可以用数组来创造存储更大数字的空间来存储数据。 题目:设计一个可容纳40位数的求n!的程序 程序构思: 首先将Data数组中的数据设置为初始值零,再令第一位数值为1,位数也为1,再将每次相乘的乘积存回数组中,并顺序处理每个数组中超过10的数,若数值超原创 2011-12-14 22:42:44 · 3101 阅读 · 0 评论 -
冒泡排序
冒泡排序:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数原创 2012-06-09 11:03:48 · 2354 阅读 · 1 评论 -
快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序是一种内部排序方法。也就是说快速排序的排序对象是读入内存的数据。 但是快速排序是一种不稳原创 2012-06-10 22:48:54 · 2115 阅读 · 0 评论 -
选择排序
选择排序的基本思想是:每一趟在n-i+1(i=1,2,3,···,n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。 程序实现(SelectSort):#include#include"DataType.h"int SelectMinKey(SqList &L,int i){// 返回在L.r[i..L.length]中key最小的记录的序号原创 2012-06-11 23:32:50 · 2112 阅读 · 0 评论