in reply to problem in my sub partition

Usually a warning tells you that there is a good chance that you have a bug or at least a problem that might bite you later in your program.

As is the case here: Your loop control should be $i<$k, not $i<=$k, because $a[$k] is not defined. This bug luckily doesn't change the result and only leads to a warning