数组

可以帮我我们一次声明存储多个相同类型的变量。
用来解决同一类大量数据在内存存储和运算的功能
特点:连续、同一类数据
数组定义==>赋值==>取值
    定义:
        int[] nums0 = new int[10];//10是数组的长度
        int[] nums1 = { 1, 2, 3, 4, 5, 6, 7 };
        int[] nums2 = new int[] { 1, 2, 3 };//不推荐 比较麻烦
        int[] nums3=new int[]{1,2,3,4,5,6,};//不推荐
    赋值:数组名[下标]=值;
    取值:数组名[下标数值] //下标从0开始,最大下标要比数组长度小1。
数组的好处:
            1、对于大量数据来说,保存的时候定义一个数组即可解决
            2、用循环来控制数组下标,可以对数组进行批量操作
定义:指定类型、指定长度、指定名称
分类:一维数组、二维数组、多维数组

一维数组:豆角

语法:

数组类型[] 数组名 = new 数组类型 [数组长度];

注意:在内存中开辟连续的n块空间,每一块称为数组的元素,如果想要访问数组中的某一块元素,需要通过这个元素的下标或者索引去访问。(下标{0~m},有 m-1 个元素)

数组的赋值与取值

数组长度一旦固定,就不能再被改变。

保存多个值;几乎任意类型都可以声明数组; int[] nums = new int[3];int[] nums = {5,3,8};
        in[]nums=new int[3]{1,2,3};int[]nums=new int[]{2,3,5};
        数组的声明:以上四种
        int[] nums = new int[3]{5,3,8}//个数和声明数必须一致
        int[] nums = new int[5]{5,3,8}//错误
        int[] nums = new int[]{5,3,8}//正确,可以省略数组个字
        使用索引器访问指定编号位置的元素,访问数组元素:nums[0]、nums[1]。索引从0开始。取到的元素的类型就是数组元素的类型。还可以对数组元素进行赋值

#region 数组基础学习
int[] a = new int[];
a[] = ;
a[] = ;
a[] = ;
a[] = ;
a[] = ;
Console.WriteLine(a[]); //数组类型[] 数组名 = new 数组类型[数组长度];
int[] nums = new int[];//初值是"" 空 string[] str = new string[];//null与" "的区别 string类型默认数组的值为null null没在内存开空间," ":空 在内存开了空间
bool[] bools = new bool[];//初值为false nums[] = ;
nums[] = ;
nums[] = ;
nums[] = ;//下标为6的元素 赋值为10,这是数组中的第7个元素(下标从0开始 所有它的下标为6) 已知循环次数 用for循环给数组赋值
for (int i = ; i < nums.Length; i++)
{
nums[i] = i;
}
//再通过一个循环对数组取值
for (int i = ; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
} //声明方式:推荐前两种方式
int[] nums0 = new int[];
int[] nums1 = { , , , , , , }; int[] nums2 = new int[] { , , };//不推荐 比较麻烦
int[] nums3=new int[]{,,,,,,};
#endregion

常见问题:求平均值,求最大值,求和,排序
        Array排序 和反序(例:)

#region Array
int[] nums = { , , , , , , , , , };
Array.Sort(nums);//只能针对数组做一个升序的排序
Array.Reverse(nums);//对数组进行反转。跟Array.Sort配合可以实现降序 //for (int i = 0; i < nums.Length-1; i++)
//{
// for (int j = 0; j < nums.Length-1-i; j++)
// {
// if (nums[j]>nums[j+1])//改成小于:降序
// {
// int temp = nums[j];
// nums[j] = nums[j + 1];
// nums[j + 1] = temp;
// }
// }
//}
for (int i = ; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
#endregion

冒泡排序
        将一个数组中的元素按照从大到小或者从小到大的顺序进行排序
        int[] nums={9,8,7,6,5,4,3,2,1,0}

趟数和次数:
        每趟出来一个最大(最小)值,

趟数:n-1 趟
        次数:n-趟数

          #region 冒泡排序
int[] a = { , , , , , , };
//输出数组中的元素:输出为排序前的样子
Console.WriteLine("原数组元素:");
for (int i = ; i < a.Length; i++)
{
Console.WriteLine(a[i]);
} //用双层for循环做大小排序并输出(例如:从小到大)
Console.WriteLine("按照从小到大排序:");
for (int i = ; i <= a.Length; i++)//外层比较多少趟
{
for (int j = ; j <= a.Length - i; j++)//内层比较多少次
{
if (a[j - ] > a[j])//如果第一个数组元素大于第二个数组元素就把
{
int temp = a[j - ];
a[j - ] = a[j];
a[j] = temp;
}
}
}
for (int i = ; i < a.Length; i++)//把数组中已经排好的数组输出
{
Console.WriteLine(a[i]);
}
#endregion

二分查询
        前提:数组必须是有序的。

二维数组

语法:······略······
        相当于一个表格
        可以做简单推箱子

多维数组

······略······

C# 编程--数组的更多相关文章

  1. [ SHELL编程 ] 数组、关联数组和awk数组

    本文主要对shell编程中常用的数组.关联数组和awk数组定义.操作以及注意事项做个总结,并提供具体案例. 数组 数组定义:一对圆括号表示数组,数组元素之间用空格符号分割. Array=(val1 v ...

  2. shell编程-数组

    #!bin/bash/ A=(a b c hello) echo ${A[*]} echo ${A[@]} ]} ]} ]} ]} ]}echo ${#A[*]} #测数组长度方法1echo ${#A ...

  3. Linux Shell脚本编程-数组和字符串处理

    数组  1.数组的定义及声明 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名:整个数组只有一个名字 索引:编号从0开始,属于数值索引:bash的数组支持 ...

  4. Shell 编程 数组

    本篇主要写一些shell脚本数组的使用. 数组定义 数组名=(value0 value1 vlaue2 ...) 数组名=([0]=value [1]=value [2]=vlaue ...) 列表名 ...

  5. shell脚本编程数组

    数组: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为 ...

  6. c# 编程--数组例题

    1.输入十个学生的成绩,找出最高分 #region 输入十个学生的成绩,找出最高分 //输入十个学生的成绩,找出最高分 ]; ; i < ; i++) { ; Console.Write(&qu ...

  7. shell数组编程

    .数组定义 [chengmo@centos5 ~]$ a=( ) [chengmo@centos5 ~]$ echo $a 一对括号表示是数组,数组元素用“空格”符号分割开. .数组读取与赋值 得到长 ...

  8. shell编程企业级实战(2)

    Vim配置文件.vimrc vim配置文件 if 条件语句 if是最常见的条件判断语句 例1:如果不存在/backup目录就创建. [root@web-01 /server/tools]# vim 0 ...

  9. labview学习之“创建数组”函数

    “创建数组”函数 一.位置:“函数”-“编程”-“数组”-“创建数组” 其图标为: 图1 图标 二.简介: “创建数组”函数有两种模式,一种是“连接模式”,一种是“添加模式”. 如需切换两种模式,可右 ...

随机推荐

  1. 解决python中转化成json的方法不能序列化datetime类型数据(转)

    Python自带的json.dumps方法序列化数据时候如果格式化的数据中有datetime类型数据时候会提示错误TypeError: datetime.datetime(2012, 12, 12, ...

  2. BZOJ3926 诸神眷顾的幻想乡

    传送门 树上SAM! 显然如果树上一条一条字符串放的话那么是n^2的w 但是 题目的性质非常吼啊! 20个叶子节点 我们就可以 把所有叶子结点拎出来当根 全部扔到一个SAM里 就吼啦 最后的答案是   ...

  3. APP前置代码

    APP自动化前置代码: #导入包from appium import webdriverimport timedesired_caps = {}desired_caps['platformName'] ...

  4. win 10配置安装iis

    站长喜欢本地配置iss调试网站后发布到网上,但是前提是系统得配置好iis.随着Win10的出现,越来越多的人装上了Win10, 但是小编最近发现很多旧版本windows系统用户在升级到windows ...

  5. flutter页面布局二

    Stack 在flutter中,Stack表示堆的意思,可以用来实现页面的定位布局. Stack组件接收两个可选参数: alignment:配置所有子元素的显示位置 children:子组件    在 ...

  6. 15 个最佳 jQuery 翻书效果插件

    本文为你带来15个非常实用的.实现类似翻书效果的jQuery插件,你可以很容易地整合到你的web应用中,提升用户体验. 1.  BookBlock BookBlock可以将任何内容(如图像.文本)创建 ...

  7. python练习题返回列表中的第二小的元素的下标

    # 第三题:返回列表中的第二小的元素的下标 # 1.参数是一个列表,元素全部是整数 # 2.返回第二小的元素的下标 def seconde_min(lt): n = len(lt) if lt[0]& ...

  8. 用maven搭建多模块项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

  9. codeforces 559D Randomizer

    题意简述: 在一个格点图中 给定一个凸$n$边形(每个定点均在格点上),随机选择其中一些点构成一个子多边形, 求子多边形的内部点个数的期望. ----------------------------- ...

  10. AGC024B Backfront

    题目大意 给你一个1~n的排列 你有两个操作:将一个数移到最后或将一个数移到最前 问将排列排序最少要几次操作 分析 年纪大了,脑子不行了.. 实际我们只需求出对与一段连续的数它在排列中已经有序的最长长 ...