美文网首页学习数据结构
0x03-学习玩转数据结构-数组获取\修改元素

0x03-学习玩转数据结构-数组获取\修改元素

作者: 小码农小世界 | 来源:发表于2019-03-18 14:20 被阅读0次

1、怎么获取元素

向大家介绍了如何在数组中添加元素,现在我们的数组中有了元素之后,我们就可以尝试查询数组中的元素,并且修改相应的元素。那么对于我们的数组来说,他的数据真正的其实是存储在我们封装在data这个类中的一个私有的静态数组data这样的一个数组中。那么相应的对于静态数组我们可以非常方便地用方括号索引的方式来查询相应的元素,那么对于这样的一种方式呢,在我们自己定义的这个数组这个类依然是可以使用的。

```

// 打印数组内元素

stringAMGArray::toString() {

    charpre[100] ="0";

    sprintf(pre,"AMGArray size:%d, capacity:%d\n", size, capacity);

    stringres =""; 

     res.append(pre);

    res.append("[");

    for(inti =0; i < size; i++) {

        chars[20] ="";

        if( i != size -1) {

            sprintf(s,"%d,", data[i]);

        }else{

            sprintf(s,"%d", data[i]);

           } 

     res.append(s); 

     }

    res.append("]");

    returnres;

}

```

2、实现获取元素

这里定义一个get方法,用户只能通过get方法来获得这个静态数组中某一个索引对应的元素,而不能直接获得data这个静态数组。这样做有什么好处呢,最典型的一个好处就是,我们在这个函数中就可以对用户传进来的这个索引进行判断,他们在这里我们就要保证这个索引必须是合法的。也就说如果我们的这个index小于0或者index是大于等于size的话,那么此时我们的这个一index都是一个非法的索引,我们就可以这样抛出一个异常告诉用户,get这个函数执行failed,因为这个索引是非法的。

```

// 获取index位置上的元素intAMGArray::get(intindex) {if(index<0||index>= size ) {cout <<"Index 不合法"<< endl;return-1;    }returndata[index];}

```

3、为什么这样做

当然啦这样做与此同时也解决了之前我们说的一个问题,回一下之前我们说我们静态数组必须要开一定的空间,可是我们实际对于我们存储的元素可能使用不了那么多空间。那么没使用的那些空间怎么办呢?答案就是通过get这个方法用户是永远无法去查询那些没有使用的空间的,通过这样的封装的方式来保证了我们整个数组安全。

删除

4、也有更新方法

当然啦,有get相应的就应该有set方法法,那么对于set方法来说,他就是进行我们数组元素的更新,我们可以把我们数组中某一个索引位置的元素改变是e这样的元素。改变了过程也非常的简单,就是data[index]等于这个e就好了。那么在这里依然是在执行这句话之前,我们要保证用户传进来的这里index是合法的,所以也要像之前那样判断。就非常容易的完成了我们的这个数组,从外部的用户来如何获取某个索引位置的元素,如修改某个索引位置的元素。接下来会在自定义数组类中添加更多的方法。

```

// 更新index位置上的元素voidAMGArray::set(intindex,inte) {if( index <0|| index >= size ) {cout<<"Index 不合法"<

```

相关文章

  • 0x03-学习玩转数据结构-数组获取\修改元素

    1、怎么获取元素 向大家介绍了如何在数组中添加元素,现在我们的数组中有了元素之后,我们就可以尝试查询数组中的元素,...

  • 数组

    创建数组 arr.length 表示数组里面有多少个元素 获取数组元素 修改数组元素 arr.indexOf(se...

  • Swift学习笔记-数组

    创建数组 访问和修改数组元素 获取数组元素数量 添加和删除数组元素 遍历数组 使用加法添加一个数组到另外一个数组 ...

  • Linux中Shell数组的笔记

    Shell数组的介绍 数组算是一种特殊的数据结构,数据项可以成为数组的元素,可以通过数组的索引获取每一个数组的元素...

  • 封装数组之包含、搜索和删除元素

    前言:在上一小节中我们已经会了如何获取和如何修改数组中的元素,在本小节中我们将继续学习如何判断某个元素是否在数组中...

  • 数据结构之数组

    数据结构之数组 这个系列是在学习慕课网玩转数据结构课程的学习笔记,用JAVA语言来重新系统的整理一下数据结构的知识...

  • JS工具类函数封装

    根据id获取元素 获取css样式 通过标签名获取元素 通过class获取元素 运动函数 类数组转数组方法 获取n-...

  • 八、数组(二)

    数组中新增元素 可以通过修改length长度以及索引号增加数组元素 通过修改length长度新增数组元素 可以通过...

  • shell数组

    数组创建方法 输出整个数组 获取数组元素个数,方法与获取字符串长度的方法相同 获取数组单个元素的长度

  • [Swift]数组元素是class和struct时的引用测试

    结论写在最前面: 数组元素是struct时,复制数组后修改,以及修改指向数组元素的变量都不会影响到原来的数组;元素...

网友评论

    本文标题:0x03-学习玩转数据结构-数组获取\修改元素

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