110,538
社区成员
发帖
与我相关
我的任务
分享
//写一个将重复数字放到最后的方法:
private int[] GetArray(int[] data)
{
int temp=0,index=0;//index计算有多少个重复的数字,temp用于交换
for(int i=0;i<data.Length-index;i++)
{
for(int j=i+1;j<data.Length-index;j++)
{
if(data[i]==data[j])//出现重复数字,将j位置的数字移到最后
{
temp=data[j];
for(int k=j+1;k<data.Length-index;k++)//后面的数前移一位
data[k-1]=data[k];
data[data.Length-index-1]=temp;//重复的数字放在后面
index++;
j--;
}
}
}
return data;
}
int a[]={1,4,2,4,8,2,34,5,8,9}
[
int a[]={1,4,2,4,8,2,34,5,8,9};
int temp;
for (int i = 0; i < a.Length; i++)
{
for (int j = i + 1; j < a.Length; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
/code]
结果:a[]={1,2,2,4,4,5,8,8,9,34};
现在要做的是去除数组中重复的值
[code=C#]
for (int i = 0; i < a.Length-1; i++)
{
if( a[i+1]==a[i])
{
a[i+1] = a[a.Length-1]+i;//随便设个什么值只要不重复就行
}
}
string[] ss ={ "1", "2", "1", "3" };
int len = ss.Length;
string str = "";
for (int i = 0; i < len; i++)
{
if (str.Contains("[" + ss[i] + "]"))
ss.SetValue(null, i);
else
str += "[" + ss[i] + "]";
}
ss = String.Join("$", ss).Split(new char[] { '$' }, StringSplitOptions.RemoveEmptyEntries);