You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.1 KiB
Java
65 lines
2.1 KiB
Java
//This is a java program to sort the numbers using Shaker Sort
|
|
import java.util.Random;
|
|
|
|
public class Shaker_Sort
|
|
{
|
|
public static void printSequence(int[] sorted_sequence)
|
|
{
|
|
for (int i = 0; i < sorted_sequence.length; i++)
|
|
System.out.print(sorted_sequence[i] + " ");
|
|
}
|
|
|
|
public static int[] shakerSort(int[] array)
|
|
{
|
|
for (int i = 0; i < array.length/2; i++)
|
|
{
|
|
boolean swapped = false;
|
|
for (int j = i; j < array.length - i - 1; j++)
|
|
{
|
|
if (array[j] < array[j+1])
|
|
{
|
|
int tmp = array[j];
|
|
array[j] = array[j+1];
|
|
array[j+1] = tmp;
|
|
}
|
|
}
|
|
for (int j = array.length - 2 - i; j > i; j--)
|
|
{
|
|
if (array[j] > array[j-1])
|
|
{
|
|
int tmp = array[j];
|
|
array[j] = array[j-1];
|
|
array[j-1] = tmp;
|
|
swapped = true;
|
|
}
|
|
}
|
|
if(!swapped) break;
|
|
}
|
|
return array;
|
|
}
|
|
public static void main(String args[])
|
|
{
|
|
System.out
|
|
.println("Sorting of randomly generated numbers using Shaker SORT");
|
|
Random random = new Random();
|
|
int N = 20;
|
|
int[] sequence = new int[N];
|
|
for (int i = 0; i < N; i++)
|
|
sequence[i] = Math.abs(random.nextInt(100));
|
|
System.out.println("\nOriginal Sequence: ");
|
|
printSequence(sequence);
|
|
System.out.println("\nSorted Sequence: ");
|
|
printSequence(shakerSort(sequence));
|
|
}
|
|
|
|
}
|
|
|
|
/*
|
|
|
|
Sorting of randomly generated numbers using SHAKER SORT
|
|
|
|
Original Sequence:
|
|
195 853 655 915 364 689 539 684 956 197 67 871 509 662 825 336 540 815 403 876
|
|
Sorted Sequence:
|
|
956 915 876 871 853 825 815 689 684 662 655 540 539 509 403 364 336 197 195 67
|