algorithm 알고리즘 - 연속 목록(배열)에서 항목 삭제

두 가지 삭제 사례가 있습니다.

시작 부분과 중간 부분 삭제:

이 경우 삭제할 요소의 위치를 찾아야합니다. 작업은 두 단계로 수행됩니다.
  • 크러쉬" 요소는 index  가 있는 다른 모든 요소를 이동하여 k 인덱스를 갖습니다. superior.
  • 1.

끝에서 삭제:

이것은 매우 간단한 경우입니다. 1.

두 경우를 결합하는 알고리즘:

삭제 알고리즘;
Var 
  i,k : 정수;
  T [1..n] : 정수;
Start
  k에서 n-1
  faire
    T[i] := T[i+1];
  finfaire
  n : = n-1;
End

Procedure:

< / div>
프로 시저 삭제 (L : list, k : 1..lmax) < / span>< / div>
var i,n:1..lmax;
Start
  n : = L.길이;
  k에서 n-1
  faire
    L.T[i] := L.T[i+1];
  finfaire
  L. 길이 : = n-1;
Fin




참고 항목:

알고리즘 |  연결된 목록에 항목 삽입 및 삭제.
알고리즘 |  연속 및 연결된 목록.
알고리즘 |  연속된 목록(배열)에 요소 삽입.
C/C++ |  배열에서 값 삭제.