当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年计算机软件水平程序员笔试考前练习精选(40)
发布时间:2012/11/4 15:35:22 来源:城市网学院 编辑:admin
   【说明】
    函数move(int*a,int n)用于整理数组a[]的前n个元素,使其中小于0的元素移到数组的前端,大于0的元素移到数组的后端,等于0的元素留在数表中间。
    令a[0]~a[low-1]小于0(初始为空);a[low]~a[i-1]等于0(初始为空);a[i]~a[high]还未考察,当前考察元素为a[i]。a[high+1]~a[n-1]大于0(初始为空)。
    【函数】
    move(int*a,int n)
    {
    int i,low,high,t;
    low=i=0;high=n-1;
    while( (1) )
    if(a[i]<0)
    {
    t=a[i];a[i]=a[low];a[low]=t;
    (2) ;i++;
    }
    else if( (3) )
    {t=a[i];a[i]=a[high];a[high]=t;
    (4) ;
    }
    else (5) ;
    }
    【答案】
    (1)i<=high
    (2)low++
    (3)a[i]>0
    (4)high--
    (5)i++
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved