C Conch Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-29 #1 有个数组[2,2,1,1,1,1],怎么写算法能是不同的数字相互错开,比如得到[1,2,1,2,1,1]。我想的头都大了
Z zywcd Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-29 #2 var i,j:integer; temp:integer; for i:=1 to no do begin for j:=i+1 to no do if d<>d[j] then begin if j<>i+1 then begin temp:=d[i+1]; d[i+1]:=d[j]; d[j]:=temp; end; break; end; end;
var i,j:integer; temp:integer; for i:=1 to no do begin for j:=i+1 to no do if d<>d[j] then begin if j<>i+1 then begin temp:=d[i+1]; d[i+1]:=d[j]; d[j]:=temp; end; break; end; end;
C Corn3 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-29 #4 可以换一种方法,比如: 先得到[1,1,1,1],然后再把两个2插入到四个1中,得到[1,2,1,2,1,1]