[问题] 新手习题问题

楼主: e002311 (鸿)   2014-03-03 19:40:39
抱歉,因为是自修,为了想要精进自己,想要多看大家的写法。
阅读书籍为 松岗的 visual c# 2013学习经典 目前在第三章
试将一个整数数列先作排序,再将重复的数值删除。 如下图所示
1.阵列的初值:23,12,34,12,45,12,23,
2.删除重复数值后:12,23,34,45,
自己是写出来了,但觉得有点冗,应该有很多种很简洁的写法。
class Program
{
private static void fliter (ref int[]ary)
{
int[] newary={ary[0]};
int inspect = ary[0];
for (int i = 0; i <= ary.Length - 1; i++)
{
if (inspect < ary[i])
{
Array.Resize(ref newary, newary.Length + 1);
newary[newary.Length - 1] = ary[i];
inspect = ary[i];
}
}
Console.Write("2.删除重复数值后:");
foreach (int element in newary)
Console.Write("{0}, ",element);
}
static void Main(string[] args)
{
int[] ary = new int[] { 23, 12, 34, 12, 45, 12, 23 };
Console.Write("1.阵列的初值:");
foreach (int element in ary)
Console.Write("{0}, ",element);
Console.WriteLine();
Array.Sort(ary);
fliter(ref ary);
Console.Read();
}
}
麻烦大家分享及教导 感恩
作者: YahooTaiwan (超可爱南西我老婆)   2014-03-03 19:54:00
学到LINQ了吗?
作者: m339606 (mize)   2014-03-03 20:29:00
用List http://ppt.cc/fyta印象中有一个类似List的类别会自动在Add时判断重复不插入有可能记错了...可能是Java的算是比较开挂的方式XD 书中应该是要你练习循环吧
作者: YahooTaiwan (超可爱南西我老婆)   2014-03-03 20:39:00
ary.OrderBy(o => o).ToArray();orderedArray.Distinct().ToArray();
作者: totte (totte)   2014-03-03 22:22:00
Dictionary

Links booklink

Contact Us: admin [ a t ] ucptt.com