实现一个Reverse方法,作用是将array数组中,从begin位置到end位置之间的元素反序。例如,原数组内容[1,2,3,4,5,6],反转第2到4个位置的内容,结果:[1,4,3,2,5,6]
方法:
static void Main(string[] args) { string a = "";string b=""; int[] _array = new int[6] { 1, 2, 3, 4, 5, 6 }; for (int i = 0; i < _array.Length; i++) { if (i == 0) { a = "" + _array[i]; } else { a = a+"," + _array[i]; } } Console.WriteLine(a); //RecursiveReverse(_array, 0, _array.Length - 1); RecursiveReverse(_array, 1, 3); for (int i = 0; i < _array.Length; i++) { if (i == 0) { b= "" + _array[i]; } else { b =b+ "," + _array[i]; } } Console.WriteLine(b); Console.ReadLine(); } private static void RecursiveReverse(int[] _array, int left, int right) { if (left >= right) return; //转换方式一 // int temp = list[left]; // list[left] = list[right]; // list[right] = temp; //转换方式二 _array[left] ^= _array[right]; _array[right] ^= _array[left]; _array[left] ^= _array[right]; RecursiveReverse(_array, ++left, --right); }
作者:chenze 出处:https://www.cnblogs.com/chenze-Index/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |