1。 for j=1 to 100 do for i=j to 100 do 找出第一个, 跟第三个比,相同,退出 不同 I=i+2 end i赋给新数组 j=j+1 end还是没有完全理解 唯一的含义
相当于SQL里的distinct,就是重复的数据只保留一个
//效率不是很好,不知你说的是不是这个意思 int a[50],i; int NotIn(int x,i) { int n; for(n=1;n<=i;n++) if (a[n]==x) {return 0;break;} return 1; } for(i=1;i<=100;i+=2) { if (NotIn(e[i],i)) a[i]=e[i];//e[i]假设e[i]是原始的数组 }
请问我的算法哪里错了? j:=2; k:=1; TempArray[1]:=GlobalArray[2]; while GlobalArray[j]<>'' do begin while TempArray[k]<>'' do begin if TempArray[k]=GlobalArray[j] then begin nFlags:=false; exit; end else begin nFlags:=true; end; k:=k+1; end; if nFlags=true then TempArray[k]:=GlobalArray[j]; j:=j+2; end;
for j=1 to 100 do
for i=j to 100
do
找出第一个,
跟第三个比,相同,退出
不同
I=i+2
end
i赋给新数组
j=j+1
end还是没有完全理解
唯一的含义
int a[50],i;
int NotIn(int x,i)
{
int n;
for(n=1;n<=i;n++)
if (a[n]==x) {return 0;break;}
return 1;
}
for(i=1;i<=100;i+=2)
{
if (NotIn(e[i],i)) a[i]=e[i];//e[i]假设e[i]是原始的数组
}
k:=1;
TempArray[1]:=GlobalArray[2];
while GlobalArray[j]<>'' do
begin
while TempArray[k]<>'' do
begin
if TempArray[k]=GlobalArray[j] then
begin
nFlags:=false;
exit;
end
else
begin
nFlags:=true;
end; k:=k+1;
end; if nFlags=true then
TempArray[k]:=GlobalArray[j];
j:=j+2;
end;
那样:GlobalArray[j]<>''的左边是一个string右边是个char