反转数组中元素的顺序

int[] array = new int[10];
		//生成随机数对象
		Random random = new Random();
		for (int i = 0; i < array.length; i++) {
			array[i] = random.nextInt(50);
			System.out.print(array[i]+" ");
		}
		System.out.println("\n排序后:");
		//反转数组元素
		int len = array.length;
		for (int i = 0; i < len/2; i++) {
			int temp = array[i];
			array[i] = array[len-1-i];
			array[len-1-i] =temp;
			//显示出排序过程
			for (int j : array) {
				System.out.print(j+"\t");
			}
			System.out.println();
		}

//反转算法原理:

把数组最后一个元素与第一个元素替换,倒数第二个元素与第二个元素替换,依此类推,直到把所有数组元素反转替换。

反转数组元素是对数组两边的元素进行替换,只需要循环数组长度的一半,

如图所示:

时间: 2024-12-22 09:29:35

反转数组中元素的顺序的相关文章

调整数组中数字的顺序,使得所有奇数位于数组的前半部分

输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分.要求时间复杂度为O(n),不要求保留数组元素的相对位置. 解析:可以维护两个指针:第一个指针初始化为数组的第一个数字,它只向后移动:第二个指针初始化为数组的最后一个数字,它只向前移动.在两个指针相遇之前,第一个指针总是位于第二个指针的前面.如果第一个指针指向的数字是偶数而第二个指针指向的数字是奇数,就交换这两个数字. 方法一: void patition(ref int[] arr, int n)

24、输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.  思路:新建一个数组先把原数组中的奇数push进去再把偶数push进去,然后用新数组数据覆盖原数组即可 复杂度O(n),用空间换时间 class Solution { public:     void reOrderArray(vector<int> &array) {         vector<int&

VB6之多维数组中元素在内存中的排列情况

1 Private Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long) 2 3 4 'code by lichmama from cnblogs.com 5 Private Sub Form_Load() 6 Dim a(2) As Byte 7 Dim b(2, 2) As Byte 8 Dim c(2, 2, 2) As Byte 9 1

数组的创建/查找数组里面的内容/添加数组中元素/使用指定的字符串把数组链接起来/判断数组内是否有指定的数组元素/四种遍历进行输出数组中的元素有哪些

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建数组 //1.快速创建数组@[] NSArray*[email protected][@"month",@"tue",@" wed",@"fir"]; //2,创建空的数组 NSArray*arr=[[NSArray a

C实现数组中元素的排序

使用C实现数组中元素的排序,使得数组中的元素从小到大排列.只不过在这个过程中出了一点小问题,在C中进行数字交换的时候,必须要使用指针的,不能使用引用.在后面的文章中,我要学习一个在C中的引用和指针的区别.下面看一下我的代码吧. #include <stdio.h> void swap(int *a,int *b); void rest(int lels[],int count); /** * 该实例用于实现对用户输入的数组进行排序 * 要求的数组中的元素从小到大来咧 * * @brief ma

JS实现循环删除数组中元素的方法介绍

这篇文章主要给大家介绍了关于Javascript循环删除数组中元素的几种方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 本文主要跟大家分享了关于Javascript循环删除数组中元素的几种方法,分享出来供大家参考学习,下面来看看详细的介绍: 发现问题 大家在码代码的过程中,经常会遇到在循环中移除指定元素的需求.按照常规的思路,直接一个for循环,然后在循环里面来个if判断,在判断中删除掉指定元素即可.但是实际情况往往不会像预想的那样顺利

反转句子中单词的顺序(单词中字符的顺序保持不变,c语言)

1 #include <stdio.h> 2 #include <string.h> 3 4 void exchange(char *string, int c1, int c2); 5 void revertString(char *string, int iStart, int iEnd); 6 void revertWordsInString(char *string); 7 8 int main(int argc, const char * argv[]) 9 { 10 1

调整该数组中数字的顺序,奇数在前,偶数在后

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. class Solution { public: void reOrderArray(vector<int> &array) { vector<int> a,b; for(int i=0;i<array.size();i++) { if(array[i]%2==1) a.push_bac

黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:

package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[] args) { /* * 定义一个int类型的数组,数组中元素为{5,7,3,9,4}. * 求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出"最小值为偶数",如果不是偶数则输出"最小值为奇数".打印如下 */ int arr[]= {5,7,3,9,4