I'm not sure if I'm doing this correctly but up to now I get an exception error. Can you see why? :

public void countHeap(){
	 System.out.println("input data:");
	 for (int i = 0; i < dataSet.length; i++) {
	    System.out.print(" "+dataSet[i]);
	     count++;
                }
                noDataElements = count;
	 formHeapTree();
        }
    public void formHeapTree(){

         int unsortedSet[] = new int[noDataElements];

	noDataElementsHalf = (noDataElements+1)/2;

	System.out.println("\nheap Array");
	for (int j = 0; j < unsortedSet.length ; j++) {
	for (int i = noDataElementsHalf; i < noDataElements; i++) {
	unsortedSet[i] = dataSet[j];
    }
	System.out.print(" "+ unsortedSet[j]);
	}
	sortLevel();

	for (int j = 0; j < unsortedSet.length ; j++) {
	for (int i = 0; i < noDataElementsHalf; i++) {
	unsortedSet[i] = dataSet[j];
	}
	System.out.print(" "+ unsortedSet[j]);
	}
}
	public void sortLevel(){

	                System.out.print("\nheap array \n ");
		for (int i = unsortedSet.length; i > 0; i--) {
		int j = i-1;
		//Parent must be smaller than child
		if(unsortedSet[j] > unsortedSet[i]) {			int temp = unsortedSet[i];
		unsortedSet[i] = unsortedSet[j];
		unsortedSet[j] = temp;
		}
	}
}

Recommended Answers

All 5 Replies

Exception error, Now thats the most generic term I can think of when describing a problem, Can you be more specific as to what Exception you are getting and at what line number the exception is being thrown as indicated by your JVM ???

Please mention in detail what Exception you are getting.
BTW are you getting an ArrayOutOfBoundsException ?

Sorry...Null Pointer Exception - Exception in thread "main"

Again you have posted the exception without much detail for e.g. line no. Also since oyu haven't put in your entire code and since also your code is not indented properly it is difficult figuring out where the exception would be and hence why it would be occurring at all.
Still I present a hint here : Nullpointer exception occur at places where you use a null reference. This would be where you are using the dot operator (.) and the reference on the LHS of it is a null reference. IF you can figure out yourself where this would be happening in your program - great, but if not you can help us by posting the code part in question e.g. the main method and the entire stack trace with line numbers for the code part.

public void formHeapTree() {

        int unsortedSet[] = new int[noDataElements];

Certainly int unsortedSet[] hides Your previous declaration -> delete int quuba

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.