데이터 구조의 순서 표 생 성, 삽입, 삭제, 포 지 셔 닝

5660 단어 데이터 구조
선형 표 의 기본 조작
  • 초기 화 - 빈 선형 표 구축 SqListInit (SqList * L)
  • 삽입 - 선형 표 의 i 번 째 요소 전에 새로운 요소 SqListInsert (SqList * L, int i, int e)
  • 를 삽입 합 니 다.
  • 삭제 - 제 i 원소 삭제 SqListDelete (SqList * L, int i, int * e)
  • 포 지 셔 닝 - 지 정 된 요소 의 위 치 를 구하 십시오. SqListLocate (SqList * L, int e) 의 구체 적 인 실현
  • 선형 표 저장 구조 설명 (구조 체)
  • #define INIT_SIZE 100
    #define INCREMENT 10
    
    typedef struct
    {
        int *elem;
        int length;
        int listsize;
    }SqList;
  • 초기 화
  • int SqListInit(SqList *L)
    {
        L->elem=(int *)malloc(INIT_SIZE*sizeof(int));   //       
        if(!L->elem)
            return 0;
        L->length=0;
        L->listsize=INIT_SIZE;   //      
        return 1;
    }
  • 삽입
  • int SqListInsert(SqList *L,int i,int e)
    {
        int j;
        int *newbase;
        if(i<1 || i>L->length+1)   //       
            return 0;
        if(L->length>=L->listsize)   //        
        {
            //      
            newbase=(int *)realloc(L->elem,(L->listsize+INCREMENT)*sizeof(int));
            if(!newbase)   //        
                return 0;
            L->elem=newbase;
            L->listsize +=INCREMENT;
        }
        for(j=L->length-1;j>=i-1;j--)   //              
        {
            L->elem[j+1]=L->elem[j];
        }
        L->elem[i-1]=e;   //  e
        ++L->length;   //     1
        return 1;
    }
  • 삭제
  • int SqListDelete(SqList *L,int i,int *e)
    {
        int j;
        if(i<1 || i>L->length)   //       
            return 0;
        *e=L->elem[i-1];   //         e
        for(j=i-1;jlength-1;j++)   //         
        {
            L->elem[j]=L->elem[j+1];
        }
        --L->length;   //   1
        cout<<"       "<"  "<<*e<<"    "<return 1;
    }
  • 포 지 셔 닝
  • int SqListLocate(SqList *L,int e)
    {
        int i;
        while(i<=L->length&&L->elem[i-1]!=e)
            i++;
        if(i<=L->length)
        {
            cout<<"  "<"         "<return 1;
        }
        else
        {
            cout<<"         "<"   "<return 0;
        }
    }

    소스 코드 링크http://download.csdn.net/detail/qq_28397005 / 9812282 전재 성명 해 주 십시오. 감사합니다!

    좋은 웹페이지 즐겨찾기