Qn: Write a java program to change an array elements in reverse order using their positions. Don't use the way of printing the elements from the last position.
-By Admin, Last Update On 28th May,2019 02:18 pm

Change the array elements in reverse order using their positions

முதலில் array-ன் last position-ஐ ஒரு variable-லில் store செய்துகொள்ளவேண்டும். இங்கு last_position என்ற variable பயன்படுத்தபட்டுள்ளது. பிறகு for() loop 0-லிருந்து array-ன் பாதி வரை மட்டும் சென்றால் போதுமானது. ஏனெனில் loop-ஆனது 0-லிருந்து பாதி அளவு சென்ற உடனே array a[]-ல் உள்ள அனைத்து element-களும் இடமாற்றம் செய்யப்பட்டுவிடும்.

i-ன் value-ஐ வைதுகொண்டே array-ன் முதல் element-ஐ எடுக்கும்போது array-ன் கடைசி element-ம், array-ன் இரண்டாவது element-ஐ எடுக்கும்போது array-ன் கடைசியில் உள்ள இரண்டாவது element. இதேபோல் array-ல் உள்ள ஒவ்வொரு element-ம் அதற்க்கு இணையான கடைசி element-ஐ கண்டரியவேண்டும். இதுவே இதில் அடங்கி உள்ள logic.

அதற்காகத்தான் a[i] மற்றும் a[last_position -i] என்று இதில் குறிப்பிடபடுகிறது. a[last_position-i]-ஆனது ஒவ்வொரு a[i]-க்கும் இணையான கடைசி element-ஐ கண்டறியும். இதை வைத்து இப்பொழுது element-களை இடமாற்றம் செய்யவேண்டும்.

அதற்க்கு a[i]-ல் உள்ள value-ஐ temp என்ற variable-க்கும் a[last-i]-ல் உள்ள value-ஐ a[i]-க்கும் மாற்றியபிறது, temp-ல் உள்ள value-ஐ இப்பொழுது a[last-i]-க்கு மாற்றிவிடவேண்டும். இவ்வாறே loop சுழற்சி அடையும்போது அனைத்து element-களும் தன்னுடைய இடத்தை மாற்றிக்கொள்ளும்.

இப்பொழுது for() loop-ஐ பயன்படுத்தி a என்ற array-வை 0 position-லிருந்து கடைசி வரை print செய்தால் array-ஆனது reverse order-ல் கிடைத்துவிடும்.

public class ReverseOrder {
  public static void main(String[] args) {
    int a[] = {80, 97, 69, 79, 88, 100, 13};
    int last_position = a.length - 1;
    for (int i = 0; i < (a.length / 2); i++) {
      int temp = a[i];
      a[i] = a[last_position - i];
      a[last_position - i] = temp;
    }
    System.out.println("Reversed element of an array");
    for (int i = 0; i <a.length; i++) {
        System.out.print(a[i] + ", ");
    }
  }

}
Output:
13, 100, 88, 79, 69, 97, 80,

Pgcomments

Comments