| 04/05/2011 6:10 pm |
 Administrator Cool Senior Member

Regist.: 04/04/2011 Topics: 14 Posts: 15
 OFFLINE | Hello there, you've finally made it to the section you've been waiting for.Note that the codes below are the solution to the problem above.
The java codes
public class Selection
{
/** Sort the array a using selection sort
Precondition: a is not null
Postcondition: a is sorted in increasing order
*/
public static void selectionSort(int[] a) {
for (int current = 0; current < a.length; current++) {
// content of a for positions to the left of
// current are in their final sorted position
int where = current; // it will contain position of smallest value
// in a[current], .., a[a.length-1]
for (int k = current+1; k < a.length; k++) {
// a[where] is less or equal to a[current] .. a[k-1]
if (a[k] < a[where])
where = k;
}
// swap a[where] with a[current]
int temp = a[current];
a[current] = a[where];
a[where] = temp;
}
}
/** Print out on a line the content of a */
public static void printArray(int[] a) {
for (int x: a)
System.out.print(x + " ");
System.out.println();
}
public static void main(String[] args) {
int[] joe = { 7,1,8,3,2,5,4};
selectionSort(joe);
printArray(joe);
}
}
It would be best you understand what each line of code does by referring to the textbook. |
|
|