zoukankan      html  css  js  c++  java
  • 数据类型(四) 集合

    二维数组:

    int[,] i=new int[m,n]   二维数组中m代表有几个n长度的一维数组,索引仍然从0开始。

    练习:

    Console.Write("请输入人数:");
    int n=int.Parse(Console.ReadLine());
    double[,] fenshu=new double[n,3];
    for (int a = 0; a < n; a++)
    {
    Console.WriteLine("第" + (a+1) + "个同学");

    Console.Write("请输入语文成绩:");
    fenshu[a,0] = double.Parse(Console.ReadLine());

    Console.Write("请输入数学成绩:");
    fenshu[a,1] = double.Parse(Console.ReadLine());

    Console.Write("请输入英语成绩:");
    fenshu[a,2] = double.Parse(Console.ReadLine());
    }
    double sumyu = 0;
    double sumshu = 0;
    double sumying = 0;
    for (int b = 0; b < n; b++)
    {
    sumyu = sumyu+fenshu[b, 0];
    sumshu = sumshu + fenshu[b, 1];
    sumying = sumying + fenshu[b, 2];
    }
    Console.WriteLine("语文平均分为:"+sumyu/n);
    Console.WriteLine("数学平均分为:"+sumshu/n);
    Console.WriteLine("英语平均分为:"+sumying/n);

    Console.ReadLine();

    集合:

         集合不同于数组,是一组可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,这些元素的类型是相同的。

         集合与数组的区别:数组是连续的、同一类型数据的一块区域,而集合可以是不连续的、多种数据类型。

         元素在中间,元素的左边是上一个元素的地址,元素的右边是下一个元素的地址。

         没有地址指向的对象.net自动判断为垃圾,会在空闲不定期或内存紧张两种情况下进行垃圾回收。

    1、集合的基本操作

    定义一个集合,集合是一个类,在system.collections库中,需要引用
    ArrayList al = new ArrayList();  //集合像数组一样,也是有索引的,索引从0开始

    int i=al.Add(3);  //添加数据,返回的int值是添加的数据在集合中的索引。

    .AddRange();  //在集合内追加一组元素

    也可以用.Insert(0,100)插入,这里指在第0个位置插入100这个值,原有位置的数据依次来索引靠后一位。追加都是在最后加,插入是在中间插。

    可以添加一个数组.InsertRange(1,b);这里b是一个定义好的数组。

    .Remove(n);   //移除数据,只移除第一个值为n的数据
    .RemoveAt(m);  //按索引移除第m个元素

    .Sort();  //从小往大排,从大到小需要翻转。

    .Reverse();  //这个是将顺序反转即翻转整个合集。

    int n=a.IndexOf();  //查某个数出现的位置放到n里面。

    int m=a.LastIndexOf();  // 查某个数出现的最后位置放到m里面。

    .Clear();  //清空集合中的数据元素,清空之后还可以再重新add添加元素

    .Clone();  //复制集合中的元素数据,装入新的集合当中

    bool l = a.Contains(n);  //判断一个集合里面是不是包含n这个元素数据 返回bool值

    Console.WriteLine(a.Count);  //输出集合个数

    a[b]是直接访问集合内的第b个元素。 

  • 相关阅读:
    洛谷.1110.[ZJOI2007]报表统计(Multiset Heap)
    洛谷.1110.[ZJOI2007]报表统计(Multiset)
    洛谷.3809.[模板]后缀排序(后缀数组 倍增) & 学习笔记
    洛谷.2801.教主的魔法(分块 二分)
    洛谷.2709.小B的询问(莫队)
    COGS.1901.[模板][国家集训队2011]数颜色(带修改莫队)
    COGS.1822.[AHOI2013]作业(莫队 树状数组/分块)
    COGS.1689.[HNOI2010]Bounce 弹飞绵羊(分块)
    COGS.264.数列操作(分块 单点加 区间求和)
    COGS.1317.数列操作c(分块 区间加 区间求和)
  • 原文地址:https://www.cnblogs.com/mxx0426/p/4044079.html
Copyright © 2011-2022 走看看