데이터 구조 - 1 - 선형 표 의 순서 표시 와 실현

1774 단어 데이터 구조
데이터 구조 엄 울 민 C 언어 제2판
환경: CodeBlocks   c++
InitList(SqList &L)           //빈 선형 테이블 만 들 기 L
CreateList(SqList &L,int n)   //새 테이블 만 들 기
printList(SqList L)           //출력 표
ListInsert (SqList & L, int i, ElemType e)//삽입 표
ListDelete (SqList & L, int i)//삭제 표
#include 
#include                 //  exit
#include                  //  OVERFLOW
#define MAXSIZE 100
#define OK 1
#define ERROR 0

using namespace std;

typedef int Status;
typedef int ElemType;

//       
typedef struct
{
    ElemType *elem;
    int length;
}SqList;

//    
Status InitList(SqList &L)
{
    L.elem = new ElemType[MAXSIZE];
    if(!L.elem) exit(OVERFLOW);
    L.length = 0;
    return OK;
}

//    
void CreateList(SqList &L,int n)
{
    for(int i=0;i>L.elem[i];
    L.length=n;
}

//      
Status ListInsert(SqList &L,int i,ElemType e)       //     i  (L.length+1>=i>=1)  e
{

    if((i<1)||(i>L.length+1)) return ERROR;         //     i      
    if(L.length == MAXSIZE) return ERROR;            //      

    for(int j=L.length-1;j>=i-1;j--)                //   0   
        L.elem[j+1]=L.elem[j];
    L.elem[i-1]=e;
    ++L.length;
    return OK;
    }

Status ListDelete(SqList &L,int i)                     //    
{
    if((i<1)||(i>L.length)) return ERROR;
    for(int j=i;j<=L.length-1;j++)
        L.elem[j-1]=L.elem[j];
    --L.length;
    return OK;
}



//   
void printList(SqList L)
{
    cout<>n;
    CreateList(L,n);
    printList(L);
                                                    //  
    cout<>i>>e;
    cout<>m;
    ListDelete(L,m);
    printList(L);
    return 0;
}

좋은 웹페이지 즐겨찾기