1、 慕测平台测试报告(二) 学 院: 计算机学院 姓 名: 赵红娜 专 业: 软件工程 学 号: 3130608003 班 级: 1301 完毕日期: -10-22 10月22日 1.题目 针对如下4个项目编写测试用例进行测试。代码如下: 题目
2、1) // BinaryHeap class // // CONSTRUCTION: with optional capacity (that defaults to 100) // // ******************PUBLIC OPERATIONS********************* // void insert( x ) --> Insert x // int deleteMin( )--> Return and remove smallest item // int findMin( ) --> Return smallest item
3、 // boolean isEmpty( ) --> Return true if empty; else false // boolean isFull( ) --> Return true if full; else false // void makeEmpty( ) --> Remove all items // ******************ERRORS******************************** // Throws Overflow if capacity exceeded /** * Implements
4、a binary heap. * Note that all "matching" is based on the compareTo method. * @author Mark Allen Weiss */ public class BinaryHeap { //@ invariant wellFormed(); /** * Construct the binary heap. */ public BinaryHeap( ) { this( DEFAULT_CAPACITY ); }
5、 /** * Construct the binary heap. * @param capacity the capacity of the binary heap. */ //@ requires capacity > 0; //@ ensures isEmpty(); public BinaryHeap( int capacity ) { currentSize = 0; array = new int[ capacity + 1 ]; }
6、 /** * Insert into the priority queue, maintaining heap order. * Duplicates are allowed. * @param x the item to insert. * @exception Overflow if container is full. */ public void insert( int x ) throws Overflow { if( isFull( ) ) throw new
7、 Overflow( ); // Percolate up int hole = ++currentSize; for( ; hole > 1 && x< array[ hole / 2 ]; hole /= 2 ) array[ hole ] = array[ hole / 2 ]; array[ hole ] = x; } /** * Find the smallest item in the priority queue. * @retur
8、n the smallest item, or null, if empty. */ public int findMin( ) { if( isEmpty( ) ) return -1; return array[ 1 ]; } boolean wellFormed() { if(array==null) {//array!=null return false; } if(currentSize<0
9、 currentSize>=array.length) {//currentSize>=0; currentSize
10、e && array[i]>array[2*i+1]) { return false; } } return true; } /** * Remove the smallest item from the priority queue. * @return the smallest item, or null, if empty. */ public int deleteMin( ) { if( isEmp
11、ty( ) ) return -1; int minItem = findMin( ); array[ 1 ] = array[ currentSize-- ]; percolateDown( 1 ); return minItem; } /** * Establish heap order property from an arbitrary * arrangement of items. Runs in linear time.
12、 */ public void buildHeap( ) { for( int i = currentSize / 2; i > 0; i-- ) percolateDown( i ); } /** * Test if the priority queue is logically empty. * @return true if empty, false otherwise. */ public boolean isEmpty( ) {
13、 return currentSize == 0; } /** * Test if the priority queue is logically full. * @return true if full, false otherwise. */ public boolean isFull( ) { return currentSize == array.length - 1; } /** * Make the priority queue logical
14、ly empty. */ //@ ensures isEmpty(); public void makeEmpty( ) { currentSize = 0; } private static final int DEFAULT_CAPACITY = 100; private int currentSize; // Number of elements in heap private int [ ] array; // The heap array /**
15、 * Internal method to percolate down in the heap. * @param hole the index at which the percolate begins. */ private void percolateDown( int hole ) { int child; int tmp = array[ hole ]; for( ; hole * 2 <= currentSize; hole = child ) {
16、 child = hole * 2; if( child != currentSize && array[ child + 1 ]< array[ child ] ) child++; if( array[ child ]< tmp ) array[ hole ] = array[ child ]; else break; }
17、 array[ hole ] = tmp; } } /** * Exception class for access in full containers * such as stacks, queues, and priority queues. * @author Mark Allen Weiss */ public class Overflow extends Exception { } 题目(2) import java.util.Comparator; import java.util.Random;
18、/** * A class that contains several sorting routines, * implemented as static methods. * Arrays are rearranged with smallest item first, * using compareTo. * @author Mark Allen Weiss */ public final class Sorting { /** * Simple insertion sort. * @param a an array of Co
19、mparable items.
*/
public void insertionSort( int[ ] a )
{
int j;
for( int p = 1; p < a.length; p++ )
{
int tmp = a[ p ];
for( j = p; j > 0 && tmp 20、p;
}
}
public boolean isSorted(int[] a) {
for(int i=0; i 21、 0, a.length - 1 );
}
private static final int CUTOFF = 10;
public static final void swapReferences( Object [ ] a, int index1, int index2 )
{
Object tmp = a[ index1 ];
a[ index1 ] = a[ index2 ];
a[ index2 ] = tmp;
}
public static final vo






