private static void maxHeapify(int[] array, int index, int heapSize) {
		int left  =  index*2;
		int right = index*2 + 1;
		int largest = index ;
		if(left < heapSize && array[left] > array[index])
			largest  = left;
		if(right < heapSize && array[right] > array[largest])
			largest  = right;      //if the array[index]  is the largest element means that, his left tree and  right tree are match the condition
		if(index != largest){     // if array[index] is not the largest element then maxHeapify index and maxHeapify the elements under the index
			exchange(array,index,largest);
			maxHeapify(array,largest,heapSize);
		}
	}