Troubleshooting MergeSort: Fixing the 'Mege is undefined' Error

  • Thread starter courtrigrad
  • Start date
  • Tags
    Program
Also, make sure to define the merge function which merges the sorted upper and lower halves of the array. In summary, check your class hierarchy and define the merge function to fix the problem.
  • #1
courtrigrad
1,236
2
Hello all:

My program for MergeSort is not working. It keeps saying that Mege is undefined. Here is my code:

Code:
 public class MergeSort extends Merge {
public static void mergeSort(int[] a, int first, int last) {

        if(last==first) return;
        if (last - first == 1) {
            //  not a[0]>a[1]; this part could test on the upper half of the array
            if (a[first] > a[last]) {
                int temp = a[first];
                a[first] = a[last];
                a[last] = temp;
            }
            

        } else {
            int halfwayPoint = (int) (last + first) / 2;
            mergeSort(a, first, halfwayPoint);
            mergeSort(a, halfwayPoint + 1, last);
            merge(a, first, last, halfwayPoint);

        }
    }
}

How should I fix this problem? Any ideas are greatly appreciated.

Thanks :smile:
 
Physics news on Phys.org
  • #2
courtrigrad said:
Hello all:

My program for MergeSort is not working. It keeps saying that Mege is undefined. Here is my code:

Code:
 public class MergeSort extends Merge {

How should I fix this problem? Any ideas are greatly appreciated.

Thanks :smile:

The "extends Merge" seems to be the problem. Are you trying to subclass another class Merge? If not, then just get rid of the "extends Merge".

You also need to define the function merge, which will merge together an array whose upper and lower halfs are sorted.
 
Last edited:
  • #3
courtrigrad said:
Hello all:

My program for MergeSort is not working. It keeps saying that Mege is undefined. Here is my code:

Code:
 public class MergeSort extends Merge {
public static void mergeSort(int[] a, int first, int last) {

        if(last==first) return;
        if (last - first == 1) {
            //  not a[0]>a[1]; this part could test on the upper half of the array
            if (a[first] > a[last]) {
                int temp = a[first];
                a[first] = a[last];
                a[last] = temp;
            }
            

        } else {
            int halfwayPoint = (int) (last + first) / 2;
            mergeSort(a, first, halfwayPoint);
            mergeSort(a, halfwayPoint + 1, last);
            merge(a, first, last, halfwayPoint);

        }
    }
}

How should I fix this problem? Any ideas are greatly appreciated.

Thanks :smile:
It seems that you are trying to create a child class without having declared a parent class (if U know what I mean). You cannot write "extends Merge" without having declared a class called Merge. If that's not what you're trying to do (class hierarchy, I mean), just get rid of the "extends Merge" on the header. There's no point in creating a parent-child class relationship if the child does not need to inherit anything from the parent class.
 

1. What causes the 'Merge is undefined' error in MergeSort?

The 'Merge is undefined' error in MergeSort is typically caused by a coding mistake, such as misspelling the word 'merge' or forgetting to define the 'merge' function before calling it. It can also occur if the 'merge' function is not properly imported or declared in the code.

2. How can I fix the 'Merge is undefined' error in MergeSort?

To fix the 'Merge is undefined' error, double check your code for any spelling or syntax errors in the 'merge' function. Make sure the 'merge' function is properly imported or declared before being called. If the error persists, try debugging the code to identify any other potential issues.

3. Can a 'Merge is undefined' error occur in languages other than JavaScript?

Yes, the 'Merge is undefined' error can occur in any programming language that uses MergeSort, such as Java or Python. The cause and solution for the error may vary depending on the specific language, but it is typically caused by a similar coding mistake.

4. Are there any common mistakes that can lead to the 'Merge is undefined' error in MergeSort?

Yes, some common mistakes that can lead to the 'Merge is undefined' error in MergeSort include forgetting to define the 'merge' function, misspelling the word 'merge', or not properly importing or declaring the 'merge' function. It is important to carefully review the code for any potential errors before running it.

5. Can I prevent the 'Merge is undefined' error from occurring in my MergeSort code?

While it is not always possible to prevent errors from occurring in code, there are some steps you can take to reduce the likelihood of encountering the 'Merge is undefined' error in MergeSort. These include carefully reviewing and debugging your code, using proper naming conventions for functions and variables, and properly importing or declaring necessary functions.

Similar threads

  • Introductory Physics Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
  • Introductory Physics Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
8K
  • Programming and Computer Science
Replies
3
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
18
Views
1K
  • Programming and Computer Science
Replies
8
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
984
  • Programming and Computer Science
Replies
1
Views
4K
  • Programming and Computer Science
Replies
1
Views
2K
Back
Top