比如:12345、21345、21435、21453.................

解决方案 »

  1.   

    function Collocate(mStrings: TStrings; mStr: string): Boolean; { 全排列 }
      procedure pCollocate(mLeft, mRight: string);
      var
        I, L: Integer;
        Temp: string;
      begin
        L := Length(mLeft);
        if L = 0 then
          mStrings.Add(mRight)
        else for I := 1 to L do begin
          Temp := mLeft;
          Delete(Temp, I, 1);
          pCollocate(Temp, Concat(mRight, mLeft[I]));
        end;
      end;
    begin
      Result := False;
      if not Assigned(mStrings) then Exit;
      mStrings.BeginUpdate;
      try
        mStrings.Clear;
        pCollocate(mStr, '');
      finally
        mStrings.EndUpdate;
      end;
      Result := True;
    end; { Collocate }procedure TForm1.Button1Click(Sender: TObject);
    begin
      Collocate(Memo1.Lines, '12345');
    end;
      

  2.   

    to:
    zswangII(伴水清清)(职业清洁工)太感谢你了!呜呜.......
    我自己写了一个下午啊,一下就被你解决了!!!