美文网首页
动态数组

动态数组

作者: 找寻美好 | 来源:发表于2018-12-12 15:02 被阅读0次

    一、 概念

    所谓动态数组是指在程序运行时可以动态改变数组长度。前面所介绍的数组,相对应的被称为静态数组,即定义数组后,就无法更改数组长度。
    在C#中,如果需要使用动态数组,可以使用ArrayList,不过需要在程序开头添加一个引用

    using System.Collections
    

    注:动态数组只能是一维的。

    二、 ArrayList的声明与创建

    有二种方式:创建时声明一个初始长度,或不声明初始长度

                ArrayList list = new ArrayList();
    
                ArrayList list2 = new ArrayList(10);//初始长度为10
    

    注意:
    初始长度仅仅是系统给数组开辟了一个空间,并没有实际使用,所以在未使用的状态下,其长度还是为0;
    ArrayList的长度即元素的个数用count属性来表示
    Console.WriteLine(list2.Count); //返回结果是list2中的元素个数

    三 、ArrayList的操作

    1. 赋值:顺序添加

    通过Add()方法,给ArrayList添加一个元素

    ArrayList arrayList = new ArrayList(10);//初始长度为10
    arrayList.Add(100); //向第一个元素赋值
    arrayList.Add(200);//向第二个元素赋值
    

    2. 赋值:插入到指定的位置

    insert(下标,元素值):

    • 下标从0开始,
    • 下标不能超过原有数组的长度
    arrayList.Insert(1, 400);   //400插入到下标为1的位置上,原先下标为1的元素值被”挤“到后面一个位置上,依次类推
    

    3. 删除元素:删除指定值的元素

    remove():删除第一个与指明匹配的元素

                ArrayList mylist = new ArrayList(5);
                mylist.Add(200);
                mylist.Add(100);
                mylist.Add(200);
                mylist.Add(300);
                mylist.Add(100);
                foreach (var item in mylist)
                {
                    Console.Write(item + " ");
                }
                mylist.Remove(100);
                Console.Write("\n");
                foreach (var item in mylist)
                {
                    Console.Write(item + " ");
                }
    

    removeAt():删除指定下标的元素
    mylist.Remove(1);//删除下标为1的元素
    removeRange()方法用于删除一定范围的元素
    remove(int index,int count)
    index:表示从第几个开始删除(从0开始计算),
    count:表示要删除的个数
    mylist.RemoveRange(1, 3);//表示从下标为1的元素开始,删除3个元素

    四、 作业

    问题描述

    有一组学员的成绩{99,85,82,63, 60},将它们按升序排列。要增加一个学员的成绩,将它插入成绩序列,并保持升序。

    image.png

    相关文章

      网友评论

          本文标题:动态数组

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