zoukankan      html  css  js  c++  java
  • 【剑指offer】调整数组顺序

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25829395


        剑指offer上的第14题,九度OJ为了确保输出的结果的唯一性,在输出上做了改动,因此採用的方法自然与书本上不同,这里没有限制,思来想去还是用最简单的方法来做了,很easy的方法,直接上代码。


    题目描写叙述:

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得全部的奇数位于数组的前半部分,全部的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

    输入:

    每一个输入文件包括一组測试案例。
    对于每一个測试案例,第一行输入一个n,代表该数组中数字的个数。
    接下来的一行输入n个整数。代表数组中的n个数。

    输出:

    相应每一个測试案例,
    输入一行n个数字,代表调整后的数组。注意,数字和数字之间用一个空格隔开,最后一个数字后面没有空格。

    例子输入:
    5
    1 2 3 4 5
    
    例子输出:
    1 3 5 2 4
        AC代码:

    #include<stdio.h>
    #include<stdlib.h>
    
    void MoveOddEven(int *A,int n)
    {
    	if(A==NULL || n<2)
    		return;
    	int *B = (int *)malloc(n*sizeof(int));	
    	if(B == NULL)
    		exit(EXIT_FAILURE);
    
    	int i;
    	int j = 0;
    	for(i=0;i<n;i++)
    	{
    		//奇数
    		if((A[i]&1) != 0)
    			B[j++] = A[i];
    	}
    	for(i=0;i<n;i++)
    	{
    		//偶数
    		if((A[i]&1) == 0)
    			B[j++] = A[i];
    	}
    
    	for(i=0;i<n;i++)
    	{
    		A[i] = B[i];
    	}
    
    	free(B);
    	B = NULL;
    }
    
    int main()
    {
    	int i,n;
    	scanf("%d",&n);
    	int *A = (int *)malloc(n*sizeof(int));
    	if(A == NULL)
    		exit(EXIT_FAILURE);
    	for(i=0;i<n;i++)
    		scanf("%d",A+i);
    	MoveOddEven(A,n);
    	for(i=0;i<n;i++)
    	{
    		//注意输出格式
    		if(i == n-1)
    			printf("%d
    ",A[i]);
    		else
    			printf("%d ",A[i]);
    	}
    	free(A);
    	A = NULL;
    	return 0;
    }

    /**************************************************************
        Problem: 1516
        User: mmc_maodun
        Language: C
        Result: Accepted
        Time:80 ms
        Memory:1692 kb
    ****************************************************************/


  • 相关阅读:
    【反射】Java反射机制
    Composer教程之常用命令
    Composer教程之基础用法
    Composer教程之初识Composer
    Composer 的结构详解
    现代 PHP 新特性系列(七) —— 内置的 HTTP 服务器
    现代 PHP 新特性系列(一) —— 命名空间
    现代 PHP 新特性系列(二) —— 善用接口
    现代 PHP 新特性系列(三) —— Trait 概览
    现代 PHP 新特性系列(四) —— 生成器的创建和使用
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4072008.html
Copyright © 2011-2022 走看看