.net 经典笔试题(字符排序)

题目:
给定字符串a,字符串b,比如a = "feb" , b = "jun" 要求结果 = "befjun" .
把两个字符串拼写成一个有序的字符串。
不能用系统函数。
这个题目曾经出现在 神州数码,中讯汉扬等公司的笔试题目中。

class Program
{
static void Main(string[] args)
{

SortString ss = new SortString("soft", "ware");
string ret = ss.Sort();

Console.WriteLine(ret);

Console.Read();
}


}


/// <summary>
/// 实现字符排序功能的类
/// </summary>
class SortString
{
private string s1 = string.Empty;
private string s2 = string.Empty;

public SortString(string str1, string str2)
{
s1 = str1;
s2 = str2;
}

public string Sort()
{
string str = s1 + s2;
char[] charArray = new char[str.Length];
//string to char[]
charArray = str.ToCharArray();

char myChar = new char();
//开始排序
for (int i = 0; i < charArray.Length; i++)
{
for (int j = 0; j < charArray.Length - 1; j++)
{
if (charArray[j] > charArray[j + 1])
{
myChar = charArray[j];
charArray[j] = charArray[j + 1];
charArray[j + 1] = myChar;
}
}

}

//char[] to string
string resultString = new string(charArray);
return resultString.ToString();

}

阅读更多

没有更多推荐了,返回首页