美文网首页数据结构
数据结构-数组(二维数组顺序表)

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

作者: 喵喵不吃鱼哦 | 来源:发表于2019-10-30 09:52 被阅读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!");

}

相关文章

  • 2020-07-02

    算法和数据结构梳理 线性表 顺序表数组(移动、原地操作、前缀和)多数组(合并 交集二维数组(旋转、数独、染色、置零...

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

    typedef struct{//定义结构体 int *base; int b1,b2; }Array; ...

  • vue项目技术点总结(2020.05)

    1 一维数组给二维数组赋值 将一维数组内容按顺序赋值给不规则的二维数组(一维数组的长度与二维数组里的数组长度之和相...

  • 线性表--数组(Array)

    线性表的顺序存储结构--数组(Array) 数组(Array)是一种线性表数据结构。他用一组连续的内存空间,来存储...

  • 数组常用的方法总结二

    二维数组、以及二维数组的排序 在一个顺序一定的数组中插入某个新元素不改变原有排列顺序 数组的join和toStri...

  • Java 数组(java.util.Arrays)

    1. 数组(Array) 数组是一种线性表数据结构 三个特点:顺序存储;内存地址连续;相同数据类型 数组所有元素初...

  • Java造轮子-数据结构-线性表

    数据结构-线性表 @(数据结构) 线性表是数据结构中的逻辑结构。可以存储在数组上,也可以存储在链表上。 顺序表(数...

  • 数据结构-线性表

    [TOC] 线性表-List list是最简单的数据结构,可分为顺序表与链表,顺序表内部数据存储由数组实现,链表则...

  • 数据结构基础

    线性表 线性表是按顺序存储数据时常用的一种数据结构。实现线性表的方式有两种: 数组 ArrayList 数组是大小...

  • 【C++】小议二维数组

    一、二维数组的介绍 当数组元素具有两个下标时, 该数组称为二维数组。 二维谁可以看做具有行和列的平面数据结构。 二...

网友评论

    本文标题:数据结构-数组(二维数组顺序表)

    本文链接:https://www.haomeiwen.com/subject/feznvctx.html