
排序
iamwiam
Hello World
展开
-
选择排序
/** *功能:选择排序:每轮外循环之后,前outer是有序的 *@author:iamwiam */public class SelectSort {private int[] a;private int nElem;public SelectSort(int max){ a = new int[max]; nElem = 0;}public void insert(in原创 2017-04-21 10:01:27 · 333 阅读 · 0 评论 -
插入排序
/** *插入排序:每次外循环out之后可以保证out个元素找到自己的位置 * @author iamwiam * */ public class InsertSort {private int[] a;private int nElem;public InsertSort(int max){ a = new int[max]; nElem = 0;}publ原创 2017-04-21 09:26:46 · 236 阅读 · 0 评论 -
改进的冒泡排序
/**改进的冒泡排序:按照升序的方式对数组进行排序,此处我们通过添加标记位,对数组中已经有序的序列不再排序,加快了排序的速度*@ author iamwiam**/public class Bubble { public static void BubbleSort(int[] a){ int i,j,temp,flag; int n = a.len原创 2017-04-21 08:52:39 · 448 阅读 · 0 评论 -
递归及典型应用
递归是一种方法调用自身的编程技术。数学本质是数学归纳方法。接下来我们介绍一些典型的递归应用案例,用以帮助理解,欢迎批评指正。 1.三角数字 古希腊数学家发现数字1,3,6,10,15,21,….中存在一种联系。及这个数列中第n项是由第n-1项加n得到,n>1。这个序列中的数字被称为三角数字,因为它们可以被形象化地表示成对象的一个三角排列。 图1 三角数字原创 2017-05-07 23:24:21 · 2894 阅读 · 0 评论 -
归并排序
1.归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。 如 设有数列{6,202,100,301,38,8,1} 初始状态:6,202,100,301,38,8,1 第一次归并后:{6,202},{100,301},{8,38},{1},比较次数:3; 第二次归并后:{6,100,202,301},{1,8,38},比较次数:4; 第三次归并后:{1,6,原创 2017-06-07 10:28:45 · 319 阅读 · 0 评论