写的比较简陋,复杂度控制的也不太好,但是就是这样还是写了一阵,小人太菜,too weak,呵呵
arrayList arr = new arrayList();
arr.Add("hello");
arr.Add("C++");
arr.Add("hello");
arr.Add("hello");
arr.Add("C++");
arr.Add("C#");
arr.Add("Java");
arr.Add("C++");
arr.Add("C++");
arr.Add("C++");
arr.Add("Java");
arr.Add("hello");
arr.Add("C++");
arr.Add("hello");
arr.Add("hello");
arr.Add("C++");
arr.Add("C#");
arr.Add("Java");
arr.Add("C++");
arr.Add("C++");
arr.Add("C++");
arr.Add("Java");
arrayList arrCopy = new arrayList();//定义一个arr的副本
arrayList al = new arrayList();//定义目标数组
for( int i=0;i<arrCopy.Count;i++ )//从头开始,选择一个arr[i]与后边的进行比较
{
for( int j=i+1;j<arrCopy.Count;j++ )//向后遍历
{
if( arrCopy[i]==arr[j] && arrCopy[i].ToString()!="copy!")
{
arr[j]="copy!";//如果有重复的,在副本中做标记
}
if( j==arrCopy.Count-1 && arrCopy[i].ToString()!="copy!" )
{
al.Add(arr[i]);//遍历到最后一个,如果不是副本,进入目标数组
}
}
}
for( int i=0;i<al.Count;i++ )
{
System.Console.WriteLine(al[i].ToString());
}
完成!
for( int i=0;i<arrCopy.Count;i++ )//从头开始,选择一个arr[i]与后边的进行比较
{
for( int j=i+1;j<arrCopy.Count;j++ )//向后遍历
{
if( arrCopy[i]==arr[j] && arrCopy[i].ToString()!="copy!")
{
arr[j]="copy!";//如果有重复的,在副本中做标记
}
if( j==arrCopy.Count-1 && arrCopy[i].ToString()!="copy!" )
{
al.Add(arr[i]);//遍历到最后一个,如果不是副本,进入目标数组
}
}
}
for( int i=0;i<al.Count;i++ )
{
System.Console.WriteLine(al[i].ToString());
}
完成!
运行
hello
C++
C#
Java
C++
C#
Java