import java.util.*;

class TimingBubbleSort
{
	public static void swap(int[] data, int x, int y)
	{
		int temp = data[x];
		data[x] = data[y];
		data[y] = temp;
	}

	public static void bubbleSort(int[] data, int n)
	{
		for(int i = 0; i < n-1; i++)
		{	
			for(int j = n-2; j >= i; j--)
			{
				if(data[j+1] < data[j])
					swap(data, j, j+1);
			}
		}
	}
	
	public static void main(String[] args)
	{
		long time, newTime, sum;

		System.out.print("{");
		for(int n = 1000; n <= 20000; n=n+1000)
		{

			sum = 0;
			for (int j = 0; j < 10; j++)
			{
				// Generate a random integer array of size n
				int[] data;
				data = new int[n];
			
				// Random is a java class defined in java.util	
				// To learn more about this class see 
				// http://java.sun.com/j2se/1.4.2/docs/api/java/util/Random.html
				Random rand;
				rand = new Random();

				for(int i = 0; i < n; i++)
					data[i] = rand.nextInt();

				// Initialize time to the value before calling
				// bubbleSort and newTime to the value after
				time = System.currentTimeMillis();
				bubbleSort(data, n);
				newTime  = System.currentTimeMillis();

				sum = sum + (newTime-time);
			}

			if(n < 20000)
				System.out.print(sum*1.0/10+", ");
			else
				System.out.println(sum*1.0/10+"}");
		}
	}
}
