调整数组中数字顺序
来源:互联网 发布:qq清除数据后会怎样 编辑:程序博客网 时间:2024/06/05 07:51
一、题目
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
注意:使用当前数组实现,不能重新开辟一个同等长度的数组实现。
思路:要想实现相对顺序不变,就需要记录一下,已经排好序的奇数的位置以及又发现的奇数的位置。将已经排好序的奇数与发现的奇数之间的数据向后一定一个位置,给发现的奇数空出一个位置。
二、算法实现
class Demo{ public static void main(String[] args){int[] arr={4,2,1,5,7,6,9,3};reOrderArray(arr);print(arr);}// 打印数组public static void print(int[] arr){for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}System.out.println();}// 数组重排 public static void reOrderArray(int [] array) {int m=0;//记录排好序的奇数的位置int j=0;//记录第一个奇数的位置,将第一个奇数排在数组中第一个位置for(int i=0;i<array.length;i++){if(array[i]%2==1){int temp=array[i];int ti=i;for(;ti>0;ti--){array[ti]=array[ti-1];//将第一个奇数之前的所有元素往后移一个位置}array[0]=temp;j=i;break;}}for(j++;j<array.length;j++){if(array[j]%2==1){int temp=array[j];int tj=j;m++; //将array[m]位置空出来 留着放奇数,将元素后移一个位置for(;tj>m;tj--){array[tj]=array[tj-1];}array[m]=temp;}}}}
阅读全文
0 0
- 调整数组中数字顺序
- 调整该数组中数字的顺序
- 调整数组中数字的顺序,使得所有奇数位于数组的前半部分
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于偶数前面
- 调整数组中数字的顺序,使得所有奇数位于数组的前半部分
- 实现一个函数来调整该数组中数字的顺序实例
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分
- 【数据结构】输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- 调整数组的顺序
- 调整数组顺序
- 算法习题54:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分
- [编程题]调整数组中奇数和偶数顺序
- 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 输入一个整型数组,实现一个函数,来调整数组中的数字顺序是的数组中所有的奇数位于数组前半部分,所有偶数位于数组的后半部分。
- 【剑指offer】调整数组顺序
- [leetcode]476. Number Complement
- RocketMQ实战(三):分布式事务
- Android Studio NDK及so文件开发
- 支付宝支付-PC电脑网站支付
- 机器学习keras,theano 报错::run(): Assertion `PyArray_NDIM(V5) == 1'
- 调整数组中数字顺序
- Kubernetes初探
- SSL和HTTPS
- shell 批量搜索jar文件内容
- 在windows上搭建龙芯1c的RT-Thread开发环境
- 第三方微博登录:sso package or sign error
- 自然语言处理技术(NLP)在推荐系统中的应用
- 滤波器设计
- Scrapy-Link Extractors(链接提取器)