표 2 데이터 구조의 선형 삽입 및 삭제 알고리즘 ----

또한, 데이터 구조 사물의 군사 고문 레벨이되기 전에 말했다, 그래서 첫 번째 요소의 인덱스는 1부터 시작됩니다!

오늘 우리는 이야기 삽입과 삭제 알고리즘 시퀀스 테이블 ;

/ * 초기 조건 : 선형 순서 표는 L, 1 <= I <= ListLength 존재 (L)를. * / 
/ * 결과 : L.에서 I + 1 전에 새로운 위치 데이터 요소, 즉 삽입, L은 길이 * / 

상태 ListInsert (SqList의 *의 L, int로 난 elemType E) 
{ 
    INT의 K; 

    IF (L-> == 길이 MAXSIZE)   // 위해 선형 테이블이 가득 차면 
    {
         복귀 ERROR; 
    } 
    IF (I는 < . 1 || I > L-> 길이 + 1이다. )    // i가 범위 내에 있지 
    {
         복귀 ERROR; 
    } 
    IF (ⅰ <= L-> 길이)    // 데이터 삽입 위치는 테이블의 끝이 아닌 경우 
    {
         / *데이터 요소는 역방향 이동 삽입 될 하나씩 위치 * / 
         (K = L-> 길이 - 1. , K> = I- 1. ; K-- ) 
        { 
            L -> 데이터 [K + . 1 ] = L-> 데이터 [ K]; 
        } 
    } 

    L -> 데이터 [I- 1. ] = E;   // 에 새로운 요소 
    ++ L-> 길이 ; 

    리턴 확인하는 단계; 
}

  사실, 많은 초보자가 직접 복사하는 경우이 코드는하지만, 때문에 내 개인 시간 제약으로 실행되고 있지, 내가 멩 아래 모든 새로운 프로그램 코드를 알고 싶다면 완벽한 프로그램 코드를 작성하지 않습니다, 메세지를 남겨주세요, 감사합니다!

      사실,이 한눈에 알고리즘, 나는 그래서 현재 길이의 범위 내에 있어야합니다 관심 삽입 위치를 지불 정도의 비트를 가지고 삽입 알고리즘 시간을 기록, 길이 (50)의 배열 (7)의 현재 길이로, 우리는 알고리즘에 대해 이야기 생각했다 성명서

경우 (ⅰ <1 || I> // L-> 길이 + 1) 전 범위 내에 있지 
    { 
        리턴 에러; 
    }

두번째 점, 예를 들어, 제 위치 데이터에 삽입하고자, 우리는 [5]에 삽입 될 데이터의 값을 변경하는 데이터가 필요하고, 원래의 데이터 [5] 상기 소자 후에 그 백 공정 후에.

/ * 삽입 한 후 위치 데이터 요소는 * / 후퇴 될 
        대. (= L-K> 1 길이, K> = 1-I]. K--) 
        { 
            L-> 데이터 [. K + 1] = L- > 데이터 [K] 
        }

세번째 점 내가 1에서 시작 알고리즘의 개념을 구별하지만, 기록 프로그램 첨자 C는 0이거나 사실상 테이블의 첫 번째 요소의 순서는 C 언어로되어 있다고

0 번째 원소가 화합 주문할 수 있도록 C 언어 데이터 [1-1]로 표현하는 단계; i 번째 요소의 일반화 된 표현이다 [I-1]

L-> 데이터 [I-1] = E; // 새로운 요소를 삽입

 

2. 삭제 알고리즘

/ * 차 선형 형태 L은 ,. 1 존재 <= I <= ListLength (L) : 초기 조건 * / 
/ * 결과 : L 삭제 i 번째 데이터 요소, 및 그 값 E를 반환 L 길이 - 1 * / 
상태 ListDelete (SqList의 *의 L, int로 I, elemType * E) 
{ 
    INT의 K; 

    IF (L-> 길이 == 0 ) 
    { 
        복귀 ERROR; 
    } 
    IF (I는 < . 1 || I는> L-> 길이) 
    { 
        ERROR; 
    }

     * L-E => 데이터 [I- 1이다. ]; 

    IF (I <L-> 길이) 
    { 
         (I = K; K <L-> 길이; K ++ ) 
        {
            L -> 데이터 [K- 1 ] = L-> 데이터 [K]; 
        } 
    } 

    L -> length-- ; 

    반환 확인을; 
}

삽입 알고리즘 후 완료, 삭제 알고리즘을 우리 모두가 이해하고 이해하려고 노력, 질문 아래에 의견이있다.

다음은 하나의 목록을 말하자면, 감사합니다!

추천

출처www.cnblogs.com/zulkar/p/10973163.html