ADC reading all the analog input from arduino mega one by one using interrupt

My requirement:

I need to read all the analog input in least amount of time and the frequency should be more than 2KHZ atleast.
Presampler value I used is 8 and the code is attached please do have a look the values I get are not as expected(junk values are being read).

analog3.ino (10 KB)

You REALLY need to start using proper punctuation and capital letters for starting sentences. If you can't make this MINIMAL attempt to communicate properly, why whould we even read your threads?

PaulS:
You REALLY need to start using proper punctuation and capital letters for starting sentences. If you can't make this MINIMAL attempt to communicate properly, why whould we even read your threads?

English is not my first language but i have tried my best and edited the above question.

Why do you have this aversion to arrays?

You'd have 90% less code with with arrays.

What, EXACTLY, is connected to the analog pins?

Yes i need to change the code to arrays. My main problem is that if i only single channel and read the analog input it works (the code i tested for single input is attached).

Analog input can be any analog sensor for example pressure sensor or any sensor that gives analog signal ,but all the 16 pins has to be used simultaneously (at least with minimal lag between a change of channels).

analog_read.ino (1.17 KB)

but all the 16 pins has to be used simultaneously

You seem to not understand that the Arduino only has ONE analog to digital converter. It can NOT be used to convert 16 analog values to digital values simultaneously.

Yes I knew that , i need to read pin A0 then A1,A2...etc not exactly parallel but alteast with minimum lag say 1us
I have used interrupts and used ADC registers directly to get better results than the already existing AnalogRead() function but I do not understand why i cannot switch channels either by ADMUX++

or even ADMUX |= (0 & 0x07); // set A0 analog input pin
ADMUX |= (1 & 0x07); // set A1 analog input pin
ADMUX |= (2 & 0x07); // set A0 analog input pin etc