数据结构

数据结构-数组(二维数组顺序表)

2019-10-30  本文已影响0人  喵喵不吃鱼哦

typedef struct{//定义结构体

    int *base;

    int b1,b2;

}Array;

void InitArray(Array &A,int m,int n){//初始化

    //构造一个维界分别是m和n的空二维数组A

    A.base = new int[n*n];

    if(!A.base)cout<<"false";//此处应返回并且结束方法

    A.b1 = m;

    A.b2 = n;

    cout<<"InitArray successful"<<endl;

    }

void DestoryArray(Array &A){

    //销毁数组顺序表

    if(A.base)delete [] A.base;

    A.b1 = A.b2 = 0;

    cout<<"DestoryArray successful"<<endl;

    }

void ValueArray(Array A,int &e,int i,int j){

//如果i与j的数值合法,则用e返回相应的数值,否则返回相应信息并退出

//i与j的数值取值非别为0~(b1-1),和0~(b2-1)

if((0<=i&&i<A.b1)&&(0<=j&&j<A.b2)){

    int off = A.b2*i+j;

    e = A.base[off];

}//取值操作

else

    cout<<"ERROR";//此处应返回并且结束方法

}

//赋值操作

void AssignArray(Array &A,int e,int i,int j){

//如果i与j的数值合法,将e的数值赋值给A.base[A.b2*i+j],否则返回相应信息并退出

//i与j的数值取值非别为0~(b1-1),和0~(b2-1)

    if((0<=i&&i<A.b1)&&(0<=j&&j<A.b2)){

        int off = A.b2*i+j;

        A.base[off] = e;

    }

    else

        cout<<"错误"<<endl;//Error("Suffix Error!");

}

上一篇 下一篇

猜你喜欢

热点阅读