zoukankan      html  css  js  c++  java
  • 写一函数,调整数组使奇数全部都位于偶数前面

     调整数组使奇数全部都位于偶数前面。
     输入一个整数数组,实现一个函数,
     来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,
     所有偶数位于数组的后半部分。

     1 #include<stdio.h>
     2 
     3 #define NUM 10
     4 
     5 void Change_num(int* start, int* end)
     6 {
     7     //开头找偶数,结尾找奇数,找到后两个相互交换位置
     8     //1,2,3,4,5,6,7,8,9,5
     9     //1, 3, 5, 4, 5, 6, 7, 8, 9, 2
    10     while (start < end)
    11     {
    12         if ((*start) % 2 == 0 )
    13         {
    14             if ((*end) % 2 != 0)
    15             {
    16                 int temp = 0;
    17                 temp = *start;
    18                 *start = *end;
    19                 *end = temp;
    20             }
    21             else
    22             {
    23                 --end;
    24             }
    25         }
    26         else
    27         {
    28             ++start;
    29         }
    30     }
    31 }
    32 
    33 int main()
    34 {
    35     int arr[NUM];
    36     printf("请输入未改变顺序前的10个数:
    ");
    37     for (int i = 0;i < NUM;++i)
    38     {
    39         scanf("%d", &arr[i]);
    40     }
    41     printf("
    ");
    42     //改变奇数与偶数的顺序
    43     int* start = arr;
    44     int* end = arr + sizeof(arr) / sizeof(arr[0]) - 1;
    45     printf("改变顺序之后:
    ");
    46     Change_num(start, end);
    47     for (int i = 0;i < NUM;++i)
    48     {
    49         printf("%d ", arr[i]);
    50     }
    51     return 0;
    52 }
  • 相关阅读:
    static、final、this、super关键
    细节二:参数、引用类型、实例化
    枚举类型
    单例模式
    细节一:字符串、switch、默认值、数组
    类属性和类方法
    装饰器模式
    TreeSet
    可见参数和增强for以及自动拆装箱
    静态导入
  • 原文地址:https://www.cnblogs.com/cuckoo-/p/10381204.html
Copyright © 2011-2022 走看看