设有一数组 p[],里面存在重复的,现要使数组中不存在重复的 我的思想如下 但有些地方执行不到
代码如下
p = tstr.Split(',');
tp = tstr.Split(',');
//对号码队列进行重复判断并删除重复的
for(int i=1;i<tp.Length;i++)
{
p[i] = "";
}
int k = 1;//记录p中存在元素个数
for(int i=1;i<tp.Length;i++)
{
if(k==1&&tp[i]!=p[0])
{
p[k] = tp[i];
k++;
}
else if(k!=1)
{
for(int j=0;j<k-1;j++)
{
int tk = k-1;
if(tp[i] == p[j])
{
break;
}
else if(j==tk)
{
p[k] = tp[i];
k++;
break;
}
else {};
}
}
else {};
}调试发现 无法执行到
else if(j==tk)
{
p[k] = tp[i];
k++;
break;
}
里面 大家看有什么遗漏 或者有更好的解决办法??
代码如下
p = tstr.Split(',');
tp = tstr.Split(',');
//对号码队列进行重复判断并删除重复的
for(int i=1;i<tp.Length;i++)
{
p[i] = "";
}
int k = 1;//记录p中存在元素个数
for(int i=1;i<tp.Length;i++)
{
if(k==1&&tp[i]!=p[0])
{
p[k] = tp[i];
k++;
}
else if(k!=1)
{
for(int j=0;j<k-1;j++)
{
int tk = k-1;
if(tp[i] == p[j])
{
break;
}
else if(j==tk)
{
p[k] = tp[i];
k++;
break;
}
else {};
}
}
else {};
}调试发现 无法执行到
else if(j==tk)
{
p[k] = tp[i];
k++;
break;
}
里面 大家看有什么遗漏 或者有更好的解决办法??
//init your array here
for(int i=1;i<tp.Length;i++)
{
p[i] = "";
}
int k = 1;//记录p中存在元素个数
for(int i=1;i<tp.Length;i++)
{
int n = 0;
for( ; n < k; n++ )
if( tp[i] == p[n] )
break;
if( n == k )
{
p[k++] = tp[i];
}
}
string[] p = tstr.Split(',');
Hashtable hs=new Hashtable();
try
{
foreach(string Ts in p)
{
hs.Add(Ts,"");
}
}
catch{}
string[] p=new string[hs.Count];
hs.Keys.CopyTo(p,0);