【发布时间】:2018-04-21 03:44:20
【问题描述】:
我正在准备面试,在查看候选人经历时,我遇到了以下问题 -
给定一个字符串数组:{ “Sdjksajd”, “Skjdasjj”, “Bjsdakja”, “Xhudhau”, “Eeeeggg”, “Chrome”}。在不使用库函数的情况下按字母顺序显示它们。
我不太擅长编码,所以我尝试使用我有限的知识通过以下方式进行此操作:-
#include<iostream>
#include<string>
using namespace std;
string selsort(string s);
string selsort(string s)
{
int i=0,j,k=0;
string min=&s[i];
for(i=0;i<6;i++)
{
for(j=i+1;j<6;j++)
{
if(s[j][k]<s[i][k])
{
string *temp;
min=s[j];
*temp=s[i];
s[i]=s[j];
s[j]=*temp;
}
else if(s[j][k]=s[i][k])
{
while(k<=s[j].length())
{
k++;
selsort(string s);
}
}
}
}
return s;
}
int main()
{
int i;
string s[6]={"Sdjksajd","Skjdasjj","Bjsdakja","Xhudhau","Eeeeggg","Chrome"};
s=selsort(s);
for(i=0;i<6;i++)
cout<<s[i];
return 0;
}
但是,我收到“错误:数组下标的无效类型 'char[int]'”,我认为我的程序需要更多修改才能使其工作。我该如何解决这个问题?
【问题讨论】:
-
正确答案是“不使用库函数就无法显示任何东西”。
-
虽然这是真的,但我认为他们的意思是让我们在不使用库函数对字符串元素进行排序或比较的情况下解决它。