`
9941052
  • 浏览: 4624 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

题目:数组排序 奇数在前 偶数在后

阅读更多
//(复旦2011在职研究生试题数据结构考试)c#版
//一整数数组,要求奇数排在偶数前面,并且时间复杂度为O(n),并要求写出思路
static void test1()
{
    int[] a = { 1, 2, 4, 3, 6 };
    int start = 0;
    int temp;
    int end = a.Length - 1;
    int num = 0;
    bool flag = true; //i是否前进标准位

    while (start != end)
    {
        if ((a[start] % 2 == 0)) //偶数
        {
            if (a[end] % 2 != 0) //如果前面是偶数后面是奇数,交换
            {
                temp = a[start];
                a[start] = a[end];
                a[end] = temp;
                flag = true;
            }
            else
            {
                flag = false;
            }
            end--;
        }
        if(flag)
            start++;
        //统计用了多少次
        num++;
    }
    //输出结果
    for (int i = 0; i < a.Length; i++)
    { 
        Console.Write("{0}{1}", a[i], " ");
    }
    Console.WriteLine();
    Console.WriteLine(num);
}
0
1
分享到:
评论

相关推荐

    按奇偶排序数组1

    例如,对于输入数组 `[3, 1, 2, 4]`,期望的输出可以是 `[2, 4, 3, 1]`、`[4, 2, 3, 1]` 或者 `[2, 4, 1, 3]`,只要满足偶数在前,奇数在后的条件即可。 下面是一个简单的 C 语言实现,它使用了双指针策略: ```c ...

    大连东软数据结构编程题.pdf

    在给定的数组中,将奇数元素排列在前,偶数元素排列在后。答案采用冒泡排序的思想,使用双层循环,将奇数元素浮到前面。 题 2:数组最大元素个数 知识点:数组操作、遍历 该题目要求返回数组中最大元素的个数。...

    将一个整数线性表拆分成奇数和偶数线性表

    - 原地操作:如果允许改变原线性表的顺序,可以在遍历过程中将奇数和偶数分别移到表的前半部分和后半部分,然后分割成两部分。 4. **C++编程相关**: - 文件名列表中的`.cpp`文件是C++源代码文件,用于编写实现...

    整数奇偶排序(信息学奥赛一本通-T1181).rar

    这样,无论原序列中的奇数和偶数是如何交错的,都能保证排序后的序列符合题目要求。 此外,为了优化算法,还可以考虑以下几点: 1. 使用位运算:通过位运算判断数字的奇偶性(如`num & 1`),这比使用除法或模运算...

    华为近几年机考

    题目2:数组排序 这道题目考察了考生的算法思维和编程能力。题目要求将一个数组中的最大元素放到输出数组的中间位置,如果数组长度为奇数,则将最大元素放到中间位置,如果数组长度为偶数,则将最大元素放到中间偏...

    冒泡排序练习题1

    5. 第五题要求对奇数和偶数分别进行升序排序,奇数在前,偶数在后。在BubbleSort函数中,可以先找出所有奇数,然后对这些奇数进行冒泡排序,接着找出所有偶数并进行排序,最后将奇数和偶数合并。具体实现未给出,但...

    Java版-剑指offer

    题目14:调整数组顺序使奇数位于偶数前面 这题需要将数组中的奇数和偶数分开,但保持原有顺序。可以使用两个指针,一个从头开始,一个从尾开始,分别处理奇数和偶数。 题目15至24:这些题目可能包括了更多的二叉树...

    C语言编程题老师提供

    3. 求偶数和:与求奇数和类似,但需修改条件判断。 4. 打印四位数的每一位:涉及数组、循环和格式化输出。 5. 倒序输出:需要理解取模运算和整数除法。 6. 打印特定条件的数:涉及逻辑运算和条件语句。 7. 逆序打印...

    java程序设计题目.pdf

    2. 输入10个数,将10个整数按生序排列输出,并且奇数在前,偶数在后。 Java知识点:数组处理、排序算法 3. 将数组a[n]的每一个元素依次循环向后移动一位。 Java知识点:数组处理、循环操作 4. 将输入数组a[n]中...

    js代码-给定一个非负整数数组A,A中一半数是奇数,一半数是偶数,对数组进行排序,以便当A[i]为奇数时,i也是奇数;当A[i]为偶数时,i也是偶数。返回任何满足上述条件的数组作为答案。

    在给定的编程任务中,我们面临一个有趣的数组排序问题,该问题涉及到JavaScript语言和算法设计。题目要求我们将一个非负整数数组A按照特定规则进行排序:奇数元素必须位于奇数索引上,偶数元素则位于偶数索引。这个...

    华科计算机保研复试机试题目

    + 知识点:结构体、数组排序 * 题目 3:冒泡排序 + 知识点:排序算法、冒泡排序 * 题目 4:建立二叉树,并中序遍历 + 知识点:二叉树数据结构、树遍历算法、中序遍历 * 题目 5:生成一个长度为 21 的数组,依次...

    国家计算机二级考试C语言100套上机题目录.pdf

    37. 奇数偶数分离:数组元素的分类存储。 38. 未给出完整信息,但通常涉及数组操作或字符串处理。 以上知识点涵盖了C语言的基础语法、数据结构、算法和文件操作,这些都是计算机二级考试C语言部分的重点内容。通过...

    php-leetcode题解之实现按奇偶排序数组.zip

    这个题目要求我们实现一个功能,即对一个整数数组按照奇偶性进行排序,使得所有奇数位于前半部分,偶数位于后半部分,同时保持原有奇数和偶数内部的相对顺序。 首先,我们需要理解LeetCode是什么。LeetCode是一个...

    php-leetcode题解之按奇偶排序数组2.zip

    在本压缩包“php-leetcode题解之按奇偶排序数组2.zip”中,主要包含的是使用PHP语言解决LeetCode算法题目的代码实现,题目要求是将一个整数数组按照奇偶性进行排序,即所有奇数位于前面,偶数位于后面。这个任务涉及...

    2012华为招聘机试整理_lmz.doc

    - **合并结果**:按照题目要求(奇数先于偶数、交叉排列)将排序后的数组重新组合成一个新数组。 #### 3.2 **数据组织与处理** - **数组的划分与重组**:通过对数组进行分割,分别处理后再合并的方式,可以有效地...

    c语言程序设计练习题.doc

    18. **数组排序与筛选**:题目2的奇数在前偶数在后的排序、题目18的奇数和偶数统计都需要对数组进行操作。 19. **模式生成**:题目16的字符计数和题目5的方阵构建涉及到特定的输出模式。 以上知识点涵盖了C语言的...

    计算机三级(C语言)上机考试题型总结与注意事项借鉴.pdf

    特殊排序可能是指非标准的排序规则,如奇数在前偶数在后,或者按特定条件排序,考生需要灵活运用已学的排序算法。 7. **二次排序问题(2%)**: 二次排序可能是指对已排序的数据进行二次处理,比如对已排序的数组...

Global site tag (gtag.js) - Google Analytics