C#_基础_数组(九)

概念:一次性存储多个相同类型的变量,区别结构一次性声明多个不同类型的变量

1.动态初始化数组

   //数组类型[] 数组名字 = new 数组类型[数组长度];
    int[] nums = new int[10]; //声明一个 int类型, 长度10的 数组

数组中默认是0

给数组赋值:

  1 nums[5] = 10;

  2 nums[3] = 12;

2.静态初始化

1 int[] num2 = { 1, 2, 3 };
2 //下面两种可以,但是比第二中更复杂,一般用第一和第二中,
3//第三种传入数组长度要对应后面大括号中的数据个数
4  int[] num3 = new int[3] { 1, 2, 3 };
5  int[] num4 = new int[] { 1, 2, 3 };

 1   //练习1:从一个整数数组中取出最大的整数,最小的整数,总和,平均值
 2                          //注意:0 是最大值或最小值的情况,给max赋值初始值的时候就给数组中的一个元素int
 3
 4                          int max = nums[0];
 5                          int min = nums[0];
 6                                 //或者是赋值int类型的最大值和最小值,给最大值一个最小的,最小值一个最大的
 7                          max = int.MinValue;
 8                          min = int.MaxValue;
 9
10                          int sum = 0;
11                          int arg = 0;
12                          for (int i = 0; i < nums.Length; i++)
13                          {
14                              if (max < nums[i])
15                              {
16                                  max = nums[i];
17                              }
18
19                              min = min > nums[i] ? min : nums[i];
20
21                              sum += nums[i];
22                          }
23
24                          Console.WriteLine("最大数是{0},总数是{1},平均数是{2:0.00}", max, sum, sum *1.0/ nums.Length);

练习题

 1 //冒泡排序:就是将一个数组中的数据从大到小或者是从小到大的顺序进行排序
 2                     //过程:第一个元素和后面的元素相邻比较,如果大就交换
 3                     //从前到后,得到最后一个数值是最大值
 4                          int[] arr = { 12, 4, 5, 7, 32, 78, 23, 85, 23 };
 5                          for (int i = 0; i < arr.Length-1; i++)
 6                          {
 7                              for (int j = 0; j < arr.Length-1-i; j++)
 8                              {
 9                                  if (arr[j] > arr[j+1])
10                                  {
11                                      int temp = arr[j];
12                                      arr[j] = arr[j+1];
13                                      arr[j+1] = temp;
14                                  }
15                              }
16                          }
17                        //  Array.Sort(arr);  //升序排列
18                        //  Array.Reverse(arr); //数组进行翻转
19                          for (int i = 0; i < arr.Length; i++)
20                          {
21                              Console.WriteLine("arr[{0}] = {1}", i, arr[i]);
22                          }

冒泡排序练习

注意:数组索引超出数组长度,就会抛出异常,索引越界beyond array bound,

原文地址:https://www.cnblogs.com/CeasarH/p/9164019.html

时间: 2024-10-09 22:28:06

C#_基础_数组(九)的相关文章

动态规划_基础_任意子区间序列求和问题_滑动窗口解法_多种思路_分治思想演变

题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入描述 第一行是一个正整数 N ( 1 ≤ N ≤ 200000 ) ,表示了序列的长度. 接下来的 N 行包含 N 个绝对值不大于 10000 的整数 A [ i ] ,描述了这段序列. 输出描述 仅包括 1 个整数,为最大的子段和是多少,子段的最小长度为 1 . 样例输入 72-43-12-43 样例输出 4 Hint Origin: SidneyEdit by stdKonjac in 2020 解题思路: 关于求子区间求

动态规划_基础_最长公共子序列_多种方法_递归/dp

D: 魔法少女资格面试 题目描述 众所周知,魔法少女是一个低危高薪职业.随着近年来报考魔法少女的孩子们越来越多,魔法少女行业已经出现饱和现象!为了缓和魔法少女界的就业压力,魔法少女考核员丁丁妹决定增加魔法少女资质考核的难度.然而,即使如此,通过资质考核的魔法少女们数量仍然过多,因此,丁丁妹决心增加一轮面试,从而淘汰掉更多的预备魔法少女.具体而言,她打算对所有面试者询问这样一个问题:给两个长度为 n 的全排列,它们的最长公共子序列长度是多少?不幸的是,由于丁丁妹没有好好上过学,她自己也不知道答案是

C++_基础_运算符重载2

内容: (1)只能用成员形式重载的运算符 (2)new/delete操作符的重载 (3)封装和继承的初识 (4)继承的特性 (5)子类及其函数的特性 (6)多重继承和虚继承 1.只能用成员形式重载的运算符(1)[] 下标操作符 (2)() 函数操作符(3)* -> 间接操作符 2.new/delete操作符的重载 注意: 如果需要在调用构造函数之前做一些初始化工作/在调用析构函数之后做一些善后工作,则可以通过new/delete运算符重载的函数来实现 3.封装和继承的初识3.1 概念(1)封装

C++_基础_继承、多态

内容: (1)子类中的拷贝构造和拷贝赋值 (2)多继承和虚继承 (3)多态的初识 (4)虚析构的特性和使用 (5)多态的底层实现 (6)纯虚函数.抽象类的概念 1.子类中的拷贝构造和拷贝赋值 子类中的拷贝构造和拷贝赋值可能也需要显式的指定父类子对象的拷贝构造和拷贝赋值的方式 2.多继承和虚继承2.1 格式: class 子类名 : 继承方式 父类名1,继承方式 父类名2,... { //子类中的属性和行为 }; 如: 员工类 / \销售员工类 管理者类 \ / 销售管理类 叫做:钻石继承 2.2

C#_基础_结构Struct(八)

一般情况下,不建议使用结构. 结构中可以包含多种不同类型的字段,方法 定义一个结构: 1 public struct Person 2 { 3 public string _name;//命名规范字段前前加下划线 4 public int _age; 5 public char _gender; 6 public QQState _state; //枚举类型 7 } 结构声明:调用 1 //声明结构变量,实质上和枚举一样,int 都是变量, 2 Person zhangsan; 3 zhangs

C#_基础_文件夹操作类Directory(十七)

1 //using System.IO; 2 ///Directory:操作文件夹/目录的类,Directory是静态类 3 ///创建文件夹 4 Directory.CreateDirectory(@"D:\a"); 5 //注释:如果D盘中已经有了a文件夹,不会重新创建,不会覆盖 6 7 //删除文件夹 8 // FALSE :只能删除空文件夹,如果不是空文件夹会报错 9 Directory.Delete(@"D:\a",false); 10 //TTRUE:删

C#_基础_部分类partial(十八)

在同一个命名空间下,只能定义一个相同类名的类,例如在一个命名空间下只能有一个 Person类. 部分类:理解为每个部分只是组成类的一部分,其实还是一个类,所有的成员都是共享的,也就是说在一个部分类中定义的变量, 在另一个部分类中可以使用,那么在一个部分类中定义的变量,在其他部分类中不能重复定义,可以理解为把一个类中的成员,分 开放到不同的类中. 通过案例演示: 1 using System; 2 using System.Collections.Generic; 3 using System.L

memcached完全剖析--1. memcached的基础 _转

2008-07-10 memcached完全剖析--1. memcached的基础 翻译一篇技术评论社的文章,是讲memcached的连载.fcicq同学说这个东西很有用,希望大家喜欢. 发表日:2008/7/2 作者:长野雅广(Masahiro Nagano) 原文链接:http://gihyo.jp/dev/feature/01/memcached/0001 我是mixi株式会社开发部系统运营组的长野. 日常负责程序的运营.从今天开始,将分几次针对最近在Web应用的可扩展性领域 的热门话题m

.Net常用技巧_解压缩byte数组

1,需要引用命名空间 using System.IO.Compression; 2, //压缩byte数组方法 private byte[] ComPress(byte[] data) { try { MemoryStream ms = new MemoryStream(); Stream zipStream = null; zipStream = new GZipStream(ms, CompressionMode.Compress, true); zipStream.Write(data,