作者e002311 (鸿)
看板C_Sharp
标题[问题] 新手习题问题
时间Mon Mar 3 19:40:39 2014
抱歉,因为是自修,为了想要精进自己,想要多看大家的写法。
阅读书籍为 松岗的 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();
}
}
麻烦大家分享及教导 感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.152.197
1F:推 YahooTaiwan:学到LINQ了吗? 03/03 19:54
没有,但刚Google看了一下,好像有点初始概念
但还是烦请指教。
※ 编辑: e002311 来自: 114.25.152.197 (03/03 19:58)
3F:→ m339606:印象中有一个类似List的类别会自动在Add时判断重复不插入 03/03 20:32
4F:→ m339606:有可能记错了...可能是Java的 03/03 20:33
5F:→ m339606:算是比较开挂的方式XD 书中应该是要你练习回圈吧 03/03 20:35
6F:推 YahooTaiwan:ary.OrderBy(o => o).ToArray(); 03/03 20:39
7F:→ YahooTaiwan:orderedArray.Distinct().ToArray(); 03/03 20:39
8F:推 totte:Dictionary 03/03 22:22
感恩大大们
我现在就来消化看看
※ 编辑: e002311 来自: 114.25.152.197 (03/05 11:19)