Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#22

Re: Mehere Werte auf gleichheit überprüfen

  Alt 15. Apr 2006, 14:51
Zitat von sakura:
Zitat von marabu:
if a[i] <> a[Pred(i)] then
Immer auf a[i] zuzugreifen ist nicht optimal, vorher zwischenspeichern
Schon eine ganze Weile her als ich das letzte Mal im CPU Fenster deubggt hab, aber sollte ein klassischer for to loop über einen Array nicht darin resultieren, dass einfach ein Pointer auf das Element inkremeiert wird?

Wenn nicht:
Delphi-Quellcode:
function AllEqual(const values : array of Byte) : Boolean;
var
  firstElement,
  lastElement,
  currentElement : PByte;
begin
  if Length(values) > 1 then
  begin
    firstElement := @values[Low(values)];
    lastElement := @values[High(values)];

    currentElement := firstElement;

    while Integer(currentElement) < Integer(lastElement) do
    begin
      Inc(currentElement);

      Result := currentElement^ = firstElement^;

      if not Result then
        Exit;
    end;
  end
  else
    Result := true;
end;
Nicht schlagen, wenn's BS ist *dummer .Net Fritze ist *
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat