摘要:
Scaner类,使用获取键盘输入。public boolean DemoTest(){Scanner input = new Scanner(System.in);System.out.print("请输入学生姓名");String name = input.next();int score = 0;double sum =0;double average = 0;for(int i =0; i>> java.util.Scanner所有已实现的接口-->>>Iterator一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scan 阅读全文
摘要:
分析总结定义:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说 阅读全文
摘要:
堆排序堆定义n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):(1)ki=号。//k(i)相当于二叉树的非叶结点,K(2i)则是左孩子,k(2i+1)是右孩子若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。【例】关键字序列(10,15,56,25,30,70)和(70,56,30,25,15,10)分别满足堆性质(1)和(2),故它们均是堆,其对应的完全二叉树分别如小根堆示例和大根堆示例所示。大根堆和小根堆:根结点 阅读全文
摘要:
归并排序package basic.sort;import java.util.Arrays;import java.util.Random;public class MergeSort { private > void mergeSort(AnyType[] arr){ AnyType[] arrNew = (AnyType[]) new Comparable[arr.length]; mergeSort(arr , arrNew , 0 , arr.length-1); } private > void mergeS... 阅读全文
摘要:
基数排序package basic.sort;import java.util.Arrays;import java.util.Random;public class RadixSort { /** * use LSD * @param number * @param d key code number in fact is the radix; */ private void radixSort(int[] number, int d) { int k = 0; int n = 1; int m = 1;... 阅读全文