데이터 구조 와 알고리즘 - 초기 탐색 경로

6403 단어 데이터 구조
선형 표 의 본질
선형 표: 대기 선형 표 는 0 개 또는 여러 요소 의 집합 데이터 요소 간 에 순서 가 있 는 데이터 요소 가 유한 한 데이터 요소 간 의 유형 이 같 습 니 다.
선형 표 의 관련 조작
대열 관계 의 총화 다.선형 표 조작:
집합 - 선형 표 해체 만 들 기 - 선형 표 길이 소각 – 선형 표 의 길이 출 열 얻 기 - 선형 표 에서 길이 입 열 삭제 – 특정한 선형 표 에서 추가
삭제 삭제 삭제 삽입 삭제 가 져 오기 위치 요소 가 져 오기 길이
#ifndef _EG_2_1_H_
#define _EG_2_1_H_

typedef void List;
typedef void ListNode;

/*                    */
List* List_Create();

/*             list */
void List_Destroy(List* list);

/*            list                         */
void List_Clear(List* list);

/*             list         */
int List_Length(List* list);

/*            list pos        node     1      ,0       */
int List_Insert(List* list, ListNode* node, int pos);

/*             list pos           pos      ,NULL       */
ListNode* List_Get(List* list, int pos);

/*             list pos                 ,NULL       */
ListNode* List_Delete(List* list, int pos);

#endif


선형 표 의 순서 저장 구조
선형 표 의 순서 저장 구 조 는 주소 연속 저장 장치 로 선형 표를 저장 하 는 데이터 구 조 를 말 합 니 다 – 배열 (1 차원) 배열 의 시작 위치 node 배열 의 최대 용량 maxsize 선형 표 의 현재 길이 length 를 이용 할 수 있 습 니 다.
#define MAXSIZE 20
struct _Tar_List
{
    char node[MAXSIZE];
    int length;
}List;
//       
//       
//      
char Get(List * list,int pos)
{
    char ret = -1;
    //  
    if((list != NULL) && (0 <= pos)&&(pos <= list->length))
        {
            ret = list->node[pos];
        }
    return ret;
}
//      :
//         
//          
//         
//     
//   +1
int Insert(List * list,char c,int pos)
{
    int ret = (list != NULL);
    int i = 0;
    ret = ret && (list->length + 1 <= MAXSIZE);
    ret = ret && (0 <= pos);
    //     
    if(ret)
    {
        if(pos >= list->length)
        {
            pos = lise->length;
        }

        for(i = list->length; i > pos;i-- )
        {
            list->node[i] = list->node[i - 1];
        }
        list->node[i] = c;
        list->length++;
    }   
    return ret;
}

//    :
//         
//          
//     
//                   
//     -1
char Delet(List * list ,int pos)
{
    char ret = -1;
    int i = 0;
    if((list != NULL)&&(0 <= pos)&&(pos <= list->length))
    {
        ret = list->node[pos];

        for(i = pos +1; i < list->length;i++)
        {
            list->node[i-1] = list->node[i];
        }
        list->length--;
    }
    return ret;
}

//        







선형 표 의 체인 식 저장 구조

좋은 웹페이지 즐겨찾기