huawei机试题目
1/*输入一个字符串,输出这个字符串中单词的字典排序*/
bool cmp(char* a,char* b){ return strcmp(a,b)<0? true:false; } void sortWord(char* str) { vector<char*> myVec; int start=0; //char* temp=new char[strlen(str)+1]; int j=0; for(int i=0;i<=strlen(str);i++) { if(*(str+i)==' '||i==strlen(str)) { char* temp=new char[10]; while(start<i) { *(temp+j)=*(str+start); start++; j++; } *(temp+j)='\0'; if(strlen(temp)) { myVec.push_back(temp); } j=0; start=i+1; } } sort(myVec.begin(),myVec.end(),cmp); for(int i=0;i<myVec.size();i++) cout<<myVec[i]<<endl; } void sortWord1(char* str) { char* s=new char[strlen(str)+1]; for(int i=0;i<strlen(s)+1;i++) s[i]=*str++; const char *d = " ,*"; char *p; p = strtok(s,d); vector<char*> my; while(p) { my.push_back(p); p=strtok(NULL,d); } sort(my.begin(),my.end(),cmp); for(int i=0;i<my.size();i++) cout<<my[i]<<endl; }