Sa se inverseze ordinea elementelor unui vector.
Analiza Programului
Pentru a inversa ordinea elementelor intr-un vector, trebuie ca primul element sa fie interschimbat cu ultimul, al doilea cu penultimul, etc. Trebuie sa parcurgem vectorul pana la jumatate si sa interschimbam elementele simetrice fata de mijloc.
using System; /* Inversarea ordinii elementelor unui vector */ namespace ReverseElements { class Program { static void Main(string[] args) { int[] myIntArray = new int[] {1,2,3}; ReverseElements(myIntArray); for (int i = 0; i < myIntArray.Length; i++) { Console.WriteLine(myIntArray[i]); } Console.Read(); } static void ReverseElements(int[] myArray) { int left = 0; int right = myArray.Length - 1; int temp; while (left < right) { temp = myArray[left]; myArray[left] = myArray[right]; myArray[right] = temp; left++; right--; } } } }
Pot construi metoda ReverseElements generic, astfel incat sa ii pot transmite ca parametru un vector de caractere, de exemplu.
using System; /* Inversarea ordinii elementelor unui vector */ namespace ReverseElements { class Program { static void Main(string[] args) { int[] myIntArray = new int[] {1,2,3}; char[] myCharArray = new char[]{'a','b','c'}; ReverseElements(myIntArray); ReverseElements(myCharArray); for (int i = 0; i < myIntArray.Length; i++) { Console.WriteLine(myIntArray[i]); } for (int i = 0; i <myCharArray.Length; i++) { Console.WriteLine(myCharArray[i]); } Console.Read(); } //metoda scrisa generic static void ReverseElements<T>(T[] myArray) { int left = 0; int right = myArray.Length - 1; T temp; while (left < right) { temp = myArray[left]; myArray[left] = myArray[right]; myArray[right] = temp; left++; right--; } } } }
Category: Uncategorized