当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年计算机软件水平初级程序员笔试考前训练(35)
发布时间:2011/6/23 21:21:51 来源:城市学习网 编辑: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