Q&A

  • 한 동적배열의 내용을 다른 동적배열의 끝에 붙이는(append)방법?
안녕하세요.
예를들어 array1, array2: array of integer;
같이 동적배열 두 개가 정의되어있는 경우 array2의 내용을 array1의 내용 끝에 붙이고 싶습니다.

Copy함수를 쓰면(array1 := Copy(array2)요렇게;;) array1의 내용이 array2의 내용과 완전히 같아지던데요, 이렇게 말고 array1의 이전내용은 유지한 채로 array2의 내용을 array1내용 뒤에 붙이고(append) 싶습니다.

아래처럼

SetLength(array1, length(array1) + length(array2));
for i:=0 to High(array2) do
  array1[length(array1) + i] := array2[i];

이렇게 하면 속도가 좀 느려서;;; 루프를 돌리지 않고 처리할 수 있는 방법이 궁금합니다. 고수분들의 답변 기다리겠습니다. 모두 좋은 하루 되세요 ^^;
2  COMMENTS
  • Profile
    박중근 2006.06.21 09:28



    저렇게 포문 돌려서 하면 정말로 느린가요 ?? 별로 안느릴꺼 같은데..
  • Profile
    임형준 2006.06.21 04:05
      Move함수를 쓰니까 되더군요. 혹시 모르시는 분이 계시면 참고하라고 글 남깁니다.
    (move함수 사용법은 델파이 헬프에~~)