我需要帮助将我的堆栈类链接到我的TestBed类

时间:2014-04-02 03:51:40

标签: java

import java.util.Random;

public class TestBed {

public static void main(String a[]) {
    // creating the array
    int[] array = new int[100];
    Random random = new Random();
    // changing the variable of my clone array for reference
    int[] arr = cloneArray(array);

    for (int i1 = 0; i1 < 100; i1++)
        array[i1] = random.nextInt(100) + 1;
    // print out of bubble sort before and after the sort
    System.out
            .println("***********************Bubble Sort           ****************************");
    arr = cloneArray(array);
    System.out.println("Values Before the sort:\n");
    printArray(arr);
    System.out.println();
    bubble_srt(arr);
    System.out.print("Values after the sort:\n");
    printArray(arr);
    // print out of selection sort before and after the sort
    System.out.println();
    System.out
            .println("********************Selection Sort*****************************");
    System.out.println(" Selection Sort\n\n");
    arr = cloneArray(array);
    System.out.println("Values Before the sort:\n");
    printArray(arr);
    System.out.println();
    selection_srt(arr);
    System.out.print("Values after the sort:\n");
    printArray(arr);

    System.out.println();

    Stack stack = new Stack();



}




public static int[] buildArray(int bound) {
    return null;
}

// clone array as a data type
public static int[] cloneArray(int[] data) {
    return (int[]) data.clone();
}

// print array as a data type
public static void printArray(int[] data) {

    // while there are still numbers left in the array print out the next
    // value

    for (int i = 0; i < data.length; i++)
        System.out.print(data[i] + " ");

}

// bubble syntax
public static void bubble_srt(int a[]) {
    int t = 0;
    for (int i = 0; i < a.length; i++) {
        for (int j = 1; j < (a.length - i); j++) {
            if (a[j - 1] > a[j]) {
                t = a[j - 1];
                a[j - 1] = a[j];
                a[j] = t;
            }
        }
    }
}

// selection syntax
public static void selection_srt(int array[]) {
    for (int x = 0; x < array.length; x++) {
        int index_of_min = x;
        for (int y = x; y < array.length; y++) {
            if (array[index_of_min] > array[y]) {
                index_of_min = y;
            }
        }
        int temp = array[x];
        array[x] = array[index_of_min];
        array[index_of_min] = temp;
    }
}


}

从这里我必须链接我的堆栈类,但我不知道如何正确地将2个类组合在一起,我对编程很新,我的学校把我扔进了一个对我很高的java类,现在我被困5几个星期。

public class Stack {
Node top;
int size;

public Stack() {
    top = null;
    size = 0;
}

public int pop() {
    if (top != null) {
        int item = top.data;
        top = top.next;
        size--;
        return item;
    }
    return -1;
}

public void push(int data) {
    Node t = new Node(data);
    t.next = this.top;
    this.top = t;
    size++;
}

public boolean isEmpty() {
    return size <= 0;
}

public int getSize() {
    return size;
}

public int peek() {
    return top.data;
}

public void printStack() {
    Node n = this.top;
    int pos = this.getSize();
    while (pos > 0) {
        System.out.println("Position: " + pos + " Element: " + n.data);
        if (pos > 0) {
            n = n.next;
        }
        pos--;

    }
}
}

class Node {
public int data;
public Node next;

Node(int d) {
    data = d;
    next = null;
}

public int getData() {
    return data;`enter code here`
}`enter code here`

{
    Stack s = new Stack();
    s.push(9);
    s.push(2);
    s.push(7);
    s.push(3);
    s.push(6);
    s.push(4);
    s.push(5);
    System.out.println("Size is: " + s.getSize());
    // s.printStack();
    int size = s.getSize();
    for (int i = 0; i < size; i++) {
        System.out.print(s.pop() + " ");
    }

}
}

1 个答案:

答案 0 :(得分:0)

在Stack类文件的开头,创建一个包名,例如:

package com.example.testcode;

然后在TestBed类文件中,从包中导入Stack类,例如:

import com.example.testcode.Stack;