首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一路面试题,求大侠指教

2012-09-16 
一道面试题,求大侠指教int fun(char *p,int len){int i 0,j 0,tmp 0for(i 0ileni++){for(j

一道面试题,求大侠指教
int fun(char *p,int len)
{
  int i = 0,j = 0,tmp = 0;
  for(i = 0;i<len;i++)
  {
  for(j = i+1;j<len;j++)
  {
  if(a[i]>a[j])
  {
  tmp = a[i];
  a[i] = a[j];
  a[j] = tmp;
  }
  }
  }
}
这是选择排序法,请指出有哪几个地方可以优化?
面试官告诉我可以减少定义tmp变量,有好几种方法!求各位大侠指教。。。。

[解决办法]

C/C++ code
void func(int *a, int len)  {      int i,j,k,temp;        for(i = 0; i < len - 1; i ++)      {          k = i;          for(j = i + 1;j < len ;j ++)          {              if(a[k] > a[j])              {                  k = j;              }          }          if(k != i)          {              temp = a[i];              a[i] = a[k];              a[k] = temp;                  }      }  } 

热点排行