-
2020-12-08 05:11:49
比如[1,2,3,4,5],排列结果可以是[1,5,3,4,2]
代码:
/**
* Created by wuchao on 17-3-29.
*/
import java.util.*;
public class test {
public static int array[] = {1,2,3,4,5,6,7,8,9,1,3,4,6,3,4,5,5,4,4};
public static void main(String[] args) {
sort(array);
System.out.println(Arrays.toString(array));
}
public static void sort(int[] array){
int len = array.length;
if(len==1) return;
int i=0,j=len-1;
while(i
//从左找第一个偶数,并退出循环
while(isOdd(array[i])&&i
//从右找第一个奇数,并退出循环
while(!isOdd(array[j])&&i
//奇数和偶数交换
int tmp = array[i];
array[i]=array[j];
array[j]=tmp;
}
}
//判断是否是奇数
public static boolean isOdd(int n){
if((n&1)==1) return true;
return false;
}
}
更多相关内容 -
C语言实现奇偶排序(奇数在前,偶数在后)
2022-03-09 15:34:04目的:输入一个数组,使得数组中奇数在前,偶数在后。 代码: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int arr[10] = {0}; for (int i = 0; i <= 9; i++) { scanf("%d...目的:输入一个数组,使得数组中奇数在前,偶数在后。
代码:#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int arr[10] = {0}; for (int i = 0; i <= 9; i++) { scanf("%d", &arr[i]); //输入数组中的各个元素 } int left = 0; int right = 9; while (left < right) //循环实现 { while ((left < right) && arr[left] % 2 == 1) { left++; //找到一个偶数后停下 } while ((left < right) && arr[right] % 2 == 0) { right--; //找到一个奇数后停下 } if (left < right) { int tmp = arr[left]; //然后交换这两个数的位置,实现奇数在前,偶数在后。 arr[left] = arr[right]; arr[right]=tmp; } } for (int i = 0; i <= 9; i++) { printf("%d ", arr[i]); 打印出排序后的数组内容。 } return 0; }
例如:第一行是输入的内容,第二行是排完序后的内容。
-
排序练习(奇数在前偶数在后)
2021-05-11 17:38:15给定一数组,要求奇数在前,偶数在后排序(不要求大小顺序) public static void main(String[] args) { int a[]= {1,4,6,8,9,5,7,5,2,5,9,4,0,1,5,8,3,4}; int next1=0; int next2=a.length-1; while(next1...给定一数组,要求奇数在前,偶数在后排序(不要求大小顺序)
public static void main(String[] args) { int a[]= {1,4,6,8,9,5,7,5,2,5,9,4,0,1,5,8,3,4}; int next1=0; int next2=a.length-1; while(next1!=next2) { if(a[next1]%2==0&&a[next2]%2==1) { jh(a,next1,next2); } if(a[next1]%2!=0) { next1++; } if(a[next2]%2!=1) { next2--; } for(int i:a) { System.out.print(i+" "); } System.out.println( ); } } private static void jh(int[] a, int next1, int next2) { int t=a[next1]; a[next1]=a[next2]; a[next2]=t; }
-
算法题:奇数在前 偶数在后,相对顺序保持不变
2021-08-19 18:29:24奇数在前 偶数在后,相对顺序保持不变1. 题目:奇数在前 偶数在后,相对顺序保持不变2. 解决思路:3. 源码 1. 题目:奇数在前 偶数在后,相对顺序保持不变 2. 解决思路: step: 1 首先找到数组中的第一个奇数放在A[0...奇数在前 偶数在后,相对顺序保持不变
1. 题目:奇数在前 偶数在后,相对顺序保持不变
2. 解决思路:
step: 1 首先找到数组中的第一个奇数放在A[0]
step: 2 之后从该位置的后面一个位置开始查找奇数3. 源码
#include <stdio.h> void lmf(int A[], int n) { int i, j, temp, lastOdd; for (i = 0; i < n; i++) //找到数组中的第一个奇数放在A[0] { if (A[i] & 1) { temp = A[i]; for (j = i;j > 0; j--) { A[j] = A[j - 1]; } A[0] = temp; lastOdd = i; //之后从lastOdd + 1位置开始查找奇数 break; } } for (i = lastOdd + 1, lastOdd = 0; i < n; i++) { if (A[i] & 1) { temp = A[i]; for (j = i; j > lastOdd + 1; j--) //依次向前移动 { A[j] = A[j - 1]; } A[++lastOdd] = temp; } } } int main(void) { int A[] = {6, 4, 3, 8, 10, 11, 12, 9}; int i, n = 8; lmf(A, n); for (i = 0;i < n; i++) { printf("%d ", A[i]); } printf("\n"); return 0; }
参考资料:https://blog.csdn.net/bxyill/article/details/8644301
-
排序 奇数在前 偶数在后 且各自有序
2019-07-27 21:58:33#include <stdio.h> void sort(int arr[],int low,int high) { int temp; for(int i = high;i > 0;i--) { for(int j = low;j < i;j++) { if(arr[j] > arr[j+1]) { ...... -
怎么用java解决数组中奇数和偶数的输出顺序,使得奇数在前偶数在后?
2020-09-15 18:47:46题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 分析:这些都和内部... -
C语言实现调整数奇数在前偶数在后
2020-10-10 22:14:31//来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, //所有偶数位于数组的后半部分。 void print_arr(const int* arr, const int sz) { assert(arr != NULL); int i = 0; for (i = 0; i < ... -
python实现排序奇数在前偶数在后
2018-05-22 21:03:00方式一:b=[1,2,3,4]c=[x for x in b if x%2 == 0]a=[x for x in b if x%2 != 0]c.extend(a)print(c)方式二:L = [1, 2, 3, 4, 5, 6]index = 0for _ in range(len(L)): if L[index] % 2 == 1: index += 1 else:... -
Java数组--奇数在前,偶数在后
2021-10-30 09:28:44奇数在前,偶数在后 给定一个数组,让奇数在数组的前面,偶数在数组的后面 实现步骤 1)定义一个变量left等于数组首元素下标0,变量right等于元素最后一个下标arr.length - 1 2)left从前往后开始遍历数组,如果是奇数... -
实现对列表排序,规则为奇数在前,偶数在后方法总结
2020-08-22 14:54:42对lst进行排序,规则为奇数在前偶数在后,总体升序 方法一:(不使用内置函数) 1.使用列表表达式 lst=[9,8,7,6,5,4,3,2,1] #先升序排列 sort的参数默认为reverse = False 升序;True :降序 lst.sort() #分别将列表... -
将一组数按奇数在前偶数在后排列
2019-10-15 22:00:16在这里插入代码片 import java.util.Arrays; public class Sep15 { public static void fun(int []arr) { if (arr.length == 0) { return ; } int left = 0; int right = a... -
python对输出的奇数偶数排序实例代码
2020-12-16 19:37:17在遇到奇数偶数的时候,我们如果对他进行一个排序,有利于我们观看操作,下面,小编教教大家在python中怎么对奇数偶数排序。 示例: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组... -
数组排序,奇数在前,偶数在后
2017-04-14 10:59:52一个无序整数数组,对它排序,使其前半部分都为奇数有序,后半部分为偶数有序。 基本想法:利用插入排序算法,对奇偶子序列分别插入排序。用两个变量把整个数组分割为三个部分,第一个部分为奇数有序子序列,第二... -
数组中元素排列为奇数在前偶数在后
2018-04-03 15:01:24对于用例: 1,2,4,5,3处理结果为:1,3,5,4,2//将数组a中奇数放在前面,偶数放在后面-(void)swapArray:(int[])a{ int len = sizeof(&a)/sizeof(int); if(len <= 0) //数组长度为0则返回 return ;... -
调整数组顺序使奇数位于偶数前面
2020-12-08 05:11:50调整数组顺序使奇数位于偶数前面C++ Solution1class Solution {public:void reOrderArray(vector &array) {for (int i = 0; i{for (int j = array.size()-1; j>i; j--){if ((array[j] & 0x01) == 1 &... -
牛客 刷题 调整数组的顺序 使奇数在前 偶数在后 并且相对位置不变
2019-07-29 10:17:31输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 1 第一种想简单了... -
C++ sort排序 奇数排在前面,偶数排在后面,或者其他奇奇怪怪的功能
2019-08-29 22:06:52例如:给你一个无序数组,给这个数组排序,要求奇数排在前面,偶数排在后面,奇数和偶数都是升序。 这时肯定要写cmp函数了,这里引用一个大佬的话: cmp函数的一个特性就是, 如果return false, 那么函数就会将他们... -
js排序 奇数在前,偶数在后,升序排序
2019-09-18 06:09:55回家后了解了一下,竟然5分钟就写出来了。 <!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body><script>... -
数组调整 奇数在前偶数在后
2019-04-21 00:13:23来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分 代码如下: #include<stdio.h> #include<stdlib.h> void order(int arr[],int n) { int i,j; int ... -
对整型数组进行排序,奇数在前,偶数在后
2021-10-18 14:20:46输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1, 9, 5, 7, 2, 4, 8, 6] 输出:[7, 1, 5, 9, 6, 4, 8, 2] 注:[3... -
剑指Offer--调整数组顺序使得奇数在前偶数在后(JS)
2019-10-28 14:42:35输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 function reOrderArray(array) ... -
奇偶链表(将一个链表奇数位排在前偶数位排在后,注意不用排值序)
2021-03-11 15:44:22给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间... -
奇数位升序偶数位降序链表排序
2019-06-20 18:35:36题目描述:一个链表,奇数位升序偶数位降序,让链表变成升序的。 比如:1 8 3 6 5 4 7 2 9,最后输出1 2 3 4 5 6 7 8 9。 分析: 这道题可以分成三步: 首先根据奇数位和偶数位拆分成两个链表。 然后对偶数链表... -
奇数在前,偶数在后;奇数按从大到小排序;偶数按从小到大排序。对其重新排序。
2021-11-20 00:11:40奇数在前,偶数在后; 奇数按从大到小排序; 偶数按从小到大排序。 输入格式 输入一行,包含1010个整数,彼此以一个空格分开,每个整数的范围是大于等于00,小于等于100100。 输出格式 按照要求排序... -
C# 实现 奇数偶数排序,奇数在前,偶数在后
2019-09-24 03:59:36public static void SortByOddAndEven(int []arr) { for (int i = 0; i < arr.Length; i++) { for (int j = arr.Length - 1; j >= i; j--) ... -
java-给一个数组,实现奇数在前,偶数在后的排序三种解法
2019-07-16 23:23:40输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路一:从前向后找,找到... -
奇数位升序偶数位降序的链表进行排序
2021-03-07 15:58:03题目描述:一个链表,特点是奇数位升序偶数位降序,使得链表变成升序的。分析代码节点类:main方法:初始化方法:按照奇偶位拆分成两个链表:反转链表:合并两个有序链表(非递归):合并两个有序链表(递归): 分析 这道题... -
python如果快速判断数字奇数偶数
2020-09-18 11:22:37主要介绍了python如果快速判断数字奇数偶数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
Python将一组数组中的数按奇偶分开,奇数在前由小到大,偶数在后由大到小,以字符串输出
2021-11-16 23:56:00List1 = [32,4,7,13,9,56,91,3] m = [x for x in List1 if x%2 == 1] n = [x for x... 第六行将偶数列转为字符串(不妨试一下没有这一步的输出效果) 第七行将偶数列加到奇数列末尾。 第八行将合并后的数列转为字符串。 -
让一个数组中奇数在前偶数在后
2018-10-31 21:36:28不要求奇数偶数排序 思路: 设定两个变量,从数组两端开始往里缩减,要求左边都为奇数,那么left为奇数就++判断下一个,如果是偶数就停止,右边的思路也一样,等到两个whlie循环结束了那么把两个不符合循环条件的...
收藏数
50,969
精华内容
20,387