文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>google 2009笔试题-字母排序

google 2009笔试题-字母排序

时间:2009-08-18  来源:ubuntuer

   有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面(大or小写之间不要求保持原来的次序),如有可能尽量选择时间和空间效率高的算法     一看到这个特别是括号的条件,我的第一反应就是快排那个思路....   

#include <stdio.h>
#include <stdlib.h>

#define MAX 50

int is_lowercase(char a)
{
   if(a>='a'&&a<='z')
     return 1;
     
   return 0;
}

void swap(char* a, char* b)
{
  char tmp = *a;
  *a = *b;
  *b = tmp;
}

char* change_a_before_A(char* str)
{
  int i = 0;
  int j = -1;
  int len = strlen(str);
  
  for(; i<len; i++)
   {
    if(is_lowercase(str[i]))
     {
       j++;
       swap(str+j,str+i);
     }
  }
}

int main(int argc, char *argv[])
{
  char str[MAX] = "aBDErekrkDSLKHDAsaa";
  
  printf("the original str:\n%s\n",str);
  
  change_a_before_A(str);
  printf("after the str:\n%s\n",str);
    
  system("PAUSE");    
  return 0;
}

 

 应该没有比这个用更少的时间和空间的了

相关阅读 更多 +
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载