c# 数组简述

数组的声明与赋值:int[] a=new int[6];

数组初始化器:int[] a=new int[2]{1,3};

数组初始化器简化版:int[] a={1,3};

数组初始值:  数字类型: 0

        bool : false
        char: \0
        string : null

假设有一个数组nums,长度为5,要对它进行升序排序

数组长度:a.Length;

数组排序:

一、交换排序

  排序思路: 

  1. 在下标0-4范围内,将该范围内最小的数字提到下标0
  2. 在下标1-4范围内,将该范围内最小的数字提到下标1
  3. 在下标2-4范围内,将该范围内最小的数字提到下标2
  4. 在下标3-4范围内,将该范围内最小的数字提到下标3
  5. 排序完成!

  实现代码:

  

for (int i = 0; i < nums.Length - 1; i++)
{
    //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
    for (int j = i + 1; j < nums.Length; j++)
    {
        if (nums[i] > nums[j])
        {
        //交换
            int temp = nums[i];
            nums[i] = nums[j];
            nums[j] = temp;
          }
    }
}                    

二、冒泡排序

  排序思路:

  • 将最大的数沉到底部

  或者

  • 将最小的数冒到顶部

  实现代码:

for (int i = nums.Length - 1; i > 0; i--)
{
    //在 0-i 范围内,将该范围内最大的数字沉到i
    for (int j = 0; j < i; j++)
    {
        if (nums[j] > nums[j+1])
        {
            //交换
            int temp = nums[j];
            nums[j] = nums[j+1];
            nums[j+1] = temp;
        }
    }
}

  

时间: 2024-11-08 21:24:11

c# 数组简述的相关文章

数组简述(C# 编程指南)

可以在一个数组数据结构中存储同一类型的多个变量. 通过指定其元素的类型声明数组 type []arrayName; 1 class TestArraysClass 2 { 3 static void Main() 4 { 5 // Declare a single-dimensional array 一维数组 6 int[] array1 = new int[5]; 7 8 // Declare and set array element values 9 int[] array2 = new

树状数组(初识)

参考:树状数组 简述:一个用来求数组列前缀和的数据结构,可以在O( log(n) )的时间内得到数列的任意前缀和,同样以相同时间对某项加一个常数,是一个很强大的数据结构. 认识:有段时间一直以为树状数组就是普通的数组,只不过可以用它来存储二叉查找树,后来才知道这货其实是一个很难的东西.不过说难,其实它也是一个蛮简单.蛮好入手的一个东西--关键代码相当简洁,只是有点难以理解,但是,用一个图就可以表达清楚了: PS:这里盗图一用(来源) 如果还没有清楚,很正常,来看看一个具体的例子: 有数组a,a

序列化之Serialize

简单介绍 序列化,就是转换格式,将一个String,或者一个对象,或者一个List,转换成流的形式,文本流(XML.TXT.Dat--)或者是二进制流,在转换回去就是反序列化. XML和二进制流是最常见的,频繁序列化使用的. 我在项目中使用它的好处: -1.在数据库中,假如我序列化一个对象,在表中只占一个字段. -2.存储文件到本地的时候,我序列化xml,再次打开程序读取xml即可得到我保存的数据. -3.一些信息的录入,例如软件的使用有一些格式需要用户来填写,只需要告诉他特定的格式写入数据即可

整理的一些java面试题

Java类型:8种基本类型,3种引用类型;基本类型 : Byte short int long float double char boolean字节长度 : 1 2 4 8 4 8 2 1引用类型 : 类,接口,数组 简述你所知道的JAVA修饰符及各自的使用机制: Abstract:修饰类,会使这个类称为抽象类,这个类将不能生成对象实例,但可以作为对象变量声明的类型,需要子类继承并覆盖其中的抽象方法. 修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,需要子类继承实现(覆盖

[luogu P3801] 红色的幻想乡 [线段树][树状数组]

题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个n*m的方格地区,一开始没有任何一个地区被红雾遮盖.蕾米莉亚每次站在某一个地区上,向东南西北四个方向各发出一条无限长的红雾,可以影响到整行/整列,但不会影响到她所站的那个地区.如果两阵红雾碰撞,则会因为密度过大而沉降消失.灵梦察觉到了这次异变,决定去解决它.但在解决之前,灵梦想要了解一片范围红雾的密度.可以简述为两种操

Spark 学习: spark 原理简述与 shuffle 过程介绍

Spark学习: 简述总结 Spark 是使用 scala 实现的基于内存计算的大数据开源集群计算环境.提供了 java,scala, python,R 等语言的调用接口. Spark学习 简述总结 引言 1 Hadoop 和 Spark 的关系 Spark 系统架构 1 spark 运行原理 RDD 初识 shuffle 和 stage 性能优化 1 缓存机制和 cache 的意义 2 shuffle 的优化 3 资源参数调优 4 小结 本地搭建 Spark 开发环境 1 Spark-Scal

[示例]NSPredicate基础-查询数组中负荷条件的子集

代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate这个类有点类似于数据库中的查询,是用于在一批内容中查询符合条件的子集,中文翻译成“谓词”.这个翻译实在让我感觉很别扭,虽然

简述java程序中的main方法

简述main方法: 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args)(一般必须这么定义,这是java规范) 在这里修饰符public和static的顺序是可以互换的.但是根据java的惯例,一般把public放在前面,后面的参数名args是不固定的,开发者可以任意命名. 1) public关键字指可以其他类可以访问这个函数. 2) static 关键字指静态函数,调用时不会实例化(即不能创建对象)(静态

[转]C语言构建动态数组完整实例

原文地址:http://www.jb51.net/article/52153.htm 本文以一个完整的实例代码简述了C语言构建动态数组的方法,供大家参考,完整实例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <stdio.h> #include <malloc.h> int main(void) {     int len;     int * arr;     printf("请输入数组长度:&q