在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。

Posted 聆听的风声

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。相关的知识,希望对你有一定的参考价值。

//在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。

  // 例如: 当输入a = {8,4,1,6,7,4,9,6,4},

  // a = {1,7,9,8,4,6,4,6,4}为一种满足条件的排序结果

using System;

namespace SuanFa
{
    class Program
    {
        //在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。
        static void Main(string[] args)
        {
            int[] array = new int[] { 8, 4, 1, 6, 7, 4, 9, 6, 4 };
            int[] cache = new int[array.Length];
            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            watch.Start();
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] % 2 != 0 && i != 0)
                {
                    for (int j = i; j > 0; j--)
                    {
                        if (array[j] % 2 != 0 && array[j - 1] % 2 == 0)
                        {
                            int pre = array[j - 1];
                            array[j - 1] = array[j];
                            array[j] = pre;
                        }

                    }

                }
            }
            watch.Stop();
            Console.WriteLine("统计时间:" + watch.Elapsed.TotalMilliseconds);

            Console.WriteLine("排序后的数列");
            foreach (var n in array)
            {
                Console.Write(n + "\t");
            }


        }
    }
}

排序结果:

统计时间:0.001
排序后的数列
1       7       9       8       4       6       4       6       4

 

以上是关于在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。的主要内容,如果未能解决你的问题,请参考以下文章

编程程序,从键盘输入10个整数给一维数组a[10], 统计数组元素中奇数和偶数个数

c++输入n及n个整数,按奇数升序,偶数降序排列输出

vb实验 随机数中求奇偶数和素数并进行排序

用java编写 输入一个整数N,统计1到N中有多少个奇数和偶数;求高手指点..

JAVA从键盘中输入20个整数将奇数和偶数存入不同的两个数组中 计算这两个数组中所有数据之和

调整数组顺序使奇数位于偶数前面