首字母排序算法的问题??
对{"zhangsan,zhangsi,liubei,zhangfei,guangyu"}进行排序,请注意这个题不光要排首字母,应该对每一个字母排。有什么比较快的算法吗?给个思路啊~或是给个关键代码~(冒泡就算了。。。)
还有如果单纯的首字母排序我使用Arrays.sort()没有问题吧? --------------------编程问答-------------------- Arrays.sort()完全能达到你的要求了 --------------------编程问答--------------------
Arrays.sort(),为什么不自己尝试下呢。。。 --------------------编程问答-------------------- zhangsan,zhangsi,liubei,zhangfei,guangyu
居然把刘关张和张三,张四放在一起。。。 --------------------编程问答--------------------
那个。。。Arrays.sort()我用了可以。。。但是要用算法表述出首字母排序和对每个字母排序啊。。。 --------------------编程问答-------------------- 都没的人说下吗?求高手啊!!!!!!!!!!! --------------------编程问答-------------------- Arrays.sort() 你试试 --------------------编程问答-------------------- 现在是对“每一个字母排”啊~各位神人么~给个意见么。。。 --------------------编程问答-------------------- 你到底什么意思嘛 --------------------编程问答-------------------- 一个个字母排,你的意思是不是按照字典序排? --------------------编程问答--------------------
{"zhangsan,zhangsi,liubei,zhangfei,guangyu"}
如果首字母重复的话就因该是选取第二个字母排,这是我的理解。
最终的答案应该是liubei,guanyu,zhangfei,zhangsan,zhangsi
算法怎么写呢。。。。。 --------------------编程问答--------------------
{"zhangsan,zhangsi,liubei,zhangfei,guangyu"}
如果首字母重复的话就因该是选取第二个字母排,这是我的理解。
最终的答案应该是liubei,guanyu,zhangfei,zhangsan,zhangsi
算法怎么写呢。。。。。 --------------------编程问答--------------------
最终答案是guanyu,liubei,zhangfei,zhangsan,zhangsi, 字母表里,g在l前面吧
class Program
{
static void Main(string[] args)
{
string[] s = new string[] { "zhangsan", "zhangsi", "liubei", "zhangfei", "guangyu", "zhangfei2" };
Array.Sort(s, new MyComp());
}
}
class MyComp : IComparer<string>
{
#region IComparer<string> Members
public int Compare(string x, string y)
{
int result=0;
int min = x.Length <= y.Length ? x.Length : y.Length;
for (int i = 0; i < min ; i++)
{
result = x[i].CompareTo(y[i]);
if (result != 0)
return result;
}
return x.Length - y.Length;
}
#endregion
}
--------------------编程问答-------------------- arrays.sort();
没必要在这种问题上浪费时间啊!
你难道会比微软的人写的效率更高吗》? --------------------编程问答--------------------
string[] stringArray = new string[] { "zhangsan", "zhangsi", "liubei", "zhangfei", "guangyu", "zhangfei2" };--------------------编程问答--------------------
var query = from s in stringArray
order by s[0]//随便你按哪个排
select s;
--------------------编程问答-------------------- LZ连基本的排序还没弄好。。。
string[] s = new string[] { "zhangsan", "zhangsi", "liubei", "zhangfei", "guangyu", "zhangfei2" };
var result = from i in s.ToList()
orderby i ascending
select i;
foreach (string i in result)
Console.WriteLine(i);
你们还给他发linq代码。。。
补充:.NET技术 , C#