一. 一维数组

1.定义

3W:why  what  when

1H:how

Why:解决大批量数据计算问题

有10万个变量:其中3万个整数,4万个双精度,2万个字符串,1万个对象

整数数组:3万个整数

双精度数组:4万个双精度

字符串数组:2万个字符串

对象数组:1万个对象

What:定义

动态数组(显示数组):数据类型[]  变量名=new 数据类型[大小];

int[] a=new int[30000];

2、访问

数组的访问:a[i]   i:下标(从0开始)

赋值:a[0]=1;

void Get()

{

int[] a = new int[5];//定义一个有5个元素的整形数值

a[0] = 1;

a[1] = 2;

a[2] = 3;

a[3] = 4;

a[4] = 5;

Console.WriteLine(a[0] + "\t" + a[3]);

}

void Get2()

{

int[] a = new int[5];

//for (int i = 0; i <5; i++)

//for (int i = 0; i <= 4; i++)

for (int i = 0; i <a.Length; i++)//a.Length:数组的长度

{

a[i] = i + 1;

}

Console.WriteLine(a[0] + "\t" + a[3]);

// 未经处理的异常:  System.IndexOutOfRangeException: 索引超出了数组界限。

}

static void Main(string[] args)

{

Test15 t = new Test15();

t.Get2();

}

静态数组(隐式数组)

int[] x={1,2,3,4,5};

void Get3()

{

//把a数组的值倒序放入b数组

int[] a = { 1, 2, 3, 4, 5 };

int[] b = new int[5];

for (int i = a.Length-1; i >= 0; i--)//循环赋值

{

b[4-i = a[i];//i:4 3 2 1 0

}

for (int i = 0; i < b.Length; i++)//循环输出

{

Console.WriteLine(b[i]);

}

}

二.二维数组

1.定义

int[,] ABC = new int[3, 4] { { 4,5,8,7}, { 4, 5, 8, 7 }, { 4, 5, 8, 7},};

public enum AerType  {  //枚举
        hj,
        bjhg,
        hja = 8,
    }
static void Main(string[] args)  {
            switch (AerType.bjhg)  {
                case AerType.hj:
                    break;
                case AerType.bjhg:
                    break;
                case AerType.hja:
                    break;
                default:
                    break;
    } }

三.排序

Array.Sort()

//把数据正序排列

int[] a = { 95, 74, 63, 87, 55 };

Array.Sort(a);

for (int i = 0; i < a.Length; i++) {   Console.WriteLine(a[i]);     }

//把数据倒序排列

for (int i = a.Length-1; i >=0 ; i--)   {   Console.WriteLine(a[i]);     }

void Get5()

{

//冒泡排序

int[] a = { 95, 74, 63, 87, 55 };

int t;

for (int i = 0; i < a.Length; i++)   {

for (int j = i; j < a.Length; j++)     {

if (a[i] > a[j])//由小到大                  {

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

}

for (int i = 0; i < a.Length; i++)   {   Console.WriteLine(a[i]);  }

}

4、求最大值

void Get6()

{

//求最高分

int[] a = { 45, 74, 63, 87, 55 };

//1、假设数组中的一个数为最高分

int max = a[2];

//2、循环数组,找出比max还大的分,把这个分赋值给max

for (int i = 0; i < a.Length; i++)   {   if (a[i] > max)   {   max = a[i];   }    }

Console.WriteLine(max);

}

五.插入排序

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

65

分析:

  1. 找到第一次比这个数据小的数,此数就是要插入数据的位置i(判断这个数据),找到后退出循环
  2. 从i的位置向后,把后面的数据依次向后移动
  3. 把i这个位置赋给要插入的数据

void Insert()//插入排序

{

int[] a = { 99, 85, 82, 63, 60,0 };

int b=65,index=0;

for (int i = 0; i < a.Length; i++)   {

if (b >= a[i])    {    index = i;     break;    }

}

//99,85,82,63, 60   []

//99,85,82,[i] ,63, 60

//99,85,82,[index] ,63(i), 60

for (int i = a.Length - 1; i >= index + 1; i--)  {    a[i] = a[i - 1];     }

a[index] = b;

for (int i = 0; i < a.Length; i++)  {   Console.WriteLine(a[i]);   }

}

一维数组二维数组(排序 最大值 插入排序)相关推荐

  1. 数组(一维数组、多维数组/二维数组)和简单排序算法

    提示:数组是线性数据结构中最为基础,最为典型的一种顺序型结构. 它用一组连续的内存空间 ,来存储一组具有相同类型的数据. 与变量相比,变量是一种单一的数据存储方式,而数组是用于存储一连串的一组数据. ...

  2. 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )

    文章目录 一.指针数组 和 二维数组 数据 拷贝到 自定义二级指针 中 1.函数形参 设计规则 2.三种内存模型 对应 函数形参 指针退化规则 二.完整代码示例 一.指针数组 和 二维数组 数据 拷贝 ...

  3. c/c++教程 - 1.7 数组 一维数组 二维数组

    九.数组 数组:一个里面存放了相同类型数据元素的集合. 特点:每个数组中的元素都是相同的数据类型:数组是由连续的内存位置组成的. 注意:数组的下标是从0开始索引. 参考视频:https://www.b ...

  4. day06数组-一维数组二维数组

    数组:          数组到底是什么呢?有什么特点呢?通过上面的分析:我们可以得到如下两句话:                 1.数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...

  5. C# 指定格式的字符串截成一维数组(二维数组)的操作类

    指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...

  6. c 语言 二维数组地址,C/C++ 关于一维或二维数组首地址表示含义

    C/C++ 关于一维或二维数组首地址表示含义 发布时间:2020-06-26 10:35:21 来源:51CTO 阅读:210 作者:sonissa 这是一个经常会忘却的知识点,最近也一直在吃这方面的 ...

  7. php 二位数组随机,PHP多维数组 php打乱数组二维数组多维数组的简单实例

    php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 上面这个是针对二维数组的! 下面针对多维数组的乱序方法?尽可能的方便快速: 以下函数也是出自php手册,可 ...

  8. php 数组重新打乱_php打乱数组二维数组多维数组的简单实例

    php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 function shuffle_assoc($list) { if (!is_array($list)) ...

  9. C语言数组——二维数组

    C语言目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分析 VS ...

最新文章

  1. 微信小程序 长按图片不出现菜单_微信更新,新功能上了热搜
  2. 年末裁员事件背后的启示录(1)
  3. Kong-dashboard 安装 启动运行
  4. python opencv中的imwrite函数_python – OpenCV imwrite函数导致’undefined symbol’
  5. linux vim tree,技术|如何优雅地使用 VIM 文件管理插件 NERDTree
  6. 解决Maven:com.oracle:ojdbc7-9.9.9.jar在pom文件无法下载问题
  7. phpcms v9模板制作教程
  8. 天龙八部排名(三联版)
  9. 前端element-ui中图片oss直传到阿里云
  10. 念黄霑 之《只记今朝笑》
  11. dnf跨几服务器比较稳定,2018DNF最新跨区表、dnf跨区合并表反应哪个跨区人最多...
  12. 1065: 人名查询
  13. 用php数组做一个表格,一个非常好用的PHP数组函数
  14. matlab关于bp神经网络,关于matlab的BP神经网络
  15. 如何使用 Issue 管理软件项目?
  16. 数据结构(邓俊辉):递归和迭代、分而治之和减而治之(2.例子)
  17. css---css属性(字体、文体、背景、尺寸)
  18. 推荐近年来印象最深的几本书
  19. mysql日期函数相加减
  20. excel的字符串拼接和某列全部填一样的值

热门文章

  1. Zabbix服务器内网监控外网Agent主机问题
  2. android接口调试工具
  3. 利用FDTD进行超表面的仿真(一)——验证PB相位和转换效率的计算
  4. RuntimeError: xxx.pth is a zip archive (did you mean to use torch.jit.load()?)
  5. 《编码隐藏在计算机软硬件背后的语言》读感
  6. 如何进行拼图?拼图其实很简单
  7. python javascript人工智能_Python,Java和JavaScript哪个编程语言未来发展空间更大?...
  8. 实用工具篇 | PPT图表制作软件
  9. 2021中国开源年会无锡城市分会场开源点亮无锡
  10. 领导者必须学会的14个说话技巧!