| | |
Some help needed with Selection Sort in java, Please!!
![]() |
•
•
Join Date: Jul 2003
Posts: 1
Reputation:
Solved Threads: 0
Working on a problem which uses a main only to implement Selection Sort. You enter arbitrary amount of integers and when the program runs it spits out the integers in increasing order. So the output would be something like this:
Enter Integers to sort: 3
> 1
> 8
> -5
answer:
> -5
> 1
> 8
Here is what i have done so far (note: Terminal is a class that lets me do input/output. It was custom made by someone) :
It compiles fine, but when i run it, its somewhat buggy. The problem is that when i enter a odd number at the prompt "Enter number of integers: ", it works fine. But if i enter a even number, it doesn't work so well. It just prints the integers the way they were typed instead of in increasing order like so:
Integers to sort? 2
> 2
> 1
answer:
2
1
Thanks.
Enter Integers to sort: 3
> 1
> 8
> -5
answer:
> -5
> 1
> 8
Here is what i have done so far (note: Terminal is a class that lets me do input/output. It was custom made by someone) :
Java Syntax (Toggle Plain Text)
public class SelectionSort { public static void main(String[] args) { // Prompt for the number of integers and put them in a array of that // size. Terminal t = new Terminal(); int n = t.readInt("Integers to sort? "); int[] integerArray; integerArray = new int[n]; for(int i = 0; i < n; i++) { integerArray[i] = t.readInt("> "); } // Find the index with the smallest integer. for(int i = 0; i < integerArray.length; i++) { int start = i; for (int x = i + 1; x < integerArray.length; x++) { if (integerArray[x] < integerArray[start]) start = x; } // Use Selection Sort alogorithm to sort the array in increasing // order. int small = start; for (int z = 0; z < integerArray.length; z++) { int tmp = integerArray[small]; integerArray[small] = integerArray[i]; integerArray[i] = tmp; } } t.println(); // Print out the integers in increasing order. for(int i = 0; i < n; i++) { t.println(integerArray[i]); } } }
It compiles fine, but when i run it, its somewhat buggy. The problem is that when i enter a odd number at the prompt "Enter number of integers: ", it works fine. But if i enter a even number, it doesn't work so well. It just prints the integers the way they were typed instead of in increasing order like so:
Integers to sort? 2
> 2
> 1
answer:
2
1
Thanks.
•
•
Join Date: Apr 2005
Posts: 1
Reputation:
Solved Threads: 0
I didn't very much understand your algorithm. So I will be sending the alogorithm that I have learnt. Hope its useful.
This is only the algorithm not the full program.
//Sorting in Descending Order
// arr is just an array
for(int i=0; i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
This is only the algorithm not the full program.
//Sorting in Descending Order
// arr is just an array
for(int i=0; i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
![]() |
Similar Threads
- Selection Sort in java (Java)
- Selection Sort Method + Comparison (Java)
- Selection Sort and String (C++)
Other Threads in the Java Forum
- Previous Thread: while loops
- Next Thread: converting python to java
| Thread Tools | Search this Thread |
-xlint actionlistener android api applet application array arrays automation bi binary blackberry block bluetooth character class client code compile compiler component consumer database desktop developmenthelp eclipse error fractal freeze ftp functiontesting game gameprogramming givemetehcodez graphics gui health html ide image integer j2me j2seprojects java javac javaee javaprojects jetbrains jni jpanel jtable julia learningresources lego linked linux list mac main map method methods mobile myregfun netbeans notdisplaying number online printf problem program project qt recursion researchinmotion rotatetext rsa scanner screen server set singleton sms sort spamblocker sql string swing system textfields threads time title tree tutorial-sample update variablebinding windows working xor





