文章

36

粉丝

0

获赞

5

访问

22.9k

头像
排序 题解:c语言插排
P1010 兰州大学2018/贵州大学2018年机试
发布于2024年3月7日 09:46
阅读数 692

#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>

int main(void) {
    int temp,n,j,c1=0,c2=0,a[1000],even[1000],uneven[1000];
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
        if(a[i]%2==1)   uneven[c1++] = a[i];
        else even[c2++] = a[i];
    }
    for(int i=1;i<c1;i++){  //对奇数数组进行从小到大排序
        if(uneven[i]<uneven[i-1]){
            temp = uneven[i];
            for(j=i-1;j>=0&&uneven[j]>temp;j--){
                uneven[j+1] = uneven[j];
            }
            uneven[j+1] = temp;
        }
    }
    
    for(int i=1;i<c2;i++){  //对偶数数组进行从小到大排序
        if(even[i]<even[i-1]){
            temp = even[i];
            for(j=i-1;j>=0&&even[j]>temp;j--){
                even[j+1] = even[j];
            }
            even[j+1] = temp;
        }
    }
    for(int i=0;i<c2;i++){
        uneven[c1++] = even[i];
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发