• 数组以及冒泡排序



    数组

    1、概念:可以帮我一次声明多个同类型的变量,这些变量再内存中是连续存储的。

    2、声明语法数据类型[] 数组名 = new 数据类型[数组长度]
        数组长度:一次要声明的同类型的变量个数。是在定义这个数组的时候就确定了,或者是用初始化声明的时候,初始化的值就确定了,以后是不可变的
        eg:int[] score = new int[5];声明了一个长度为5的数组,数组名为score,通俗点说,就是声明了一个数组,里面包含了5个int类型的变量,数组名叫score,里面的5个int类型的变量叫做:数组元素。
    3、数组的访问:通过下标(索引)来访问数组。数组名[编号]。编号是从0开始的,最后一个编号是数组的个数减一
    4、初始化数组:int类型的数组一旦声明,里面的每一个元素被初始化成0。通过快速监视发现,string数组的默认初始化为null,但是还是能够输出
    5、数组长度:通过 数组名.Length 可以获得数组的长度,也就是数组的个数
    6、遍历数组:依次访问数组或者集合中的每一个元素,并且每一个元素只是被访问一次
    7、直接赋值方式声明数组:int[] nums = {5,3,8}; 声明一个长度为3的数组,每一个元素的值分别为:5,3,8,元素的值之间用逗号隔开。外层直接用以大括号 
    int[] nums = new int[3]{5,3,8};这种方式声明中大括号中的数据个数必须和数组长度一样,否则报错,故最好不要用这种方式来声明数组
    int[] nums = new int[5]{5,3,8}; //error  数组个数与长度不匹配
    int[] nums = new int[]{5,3,8};//OK,可以声明长度

    string[] strArr = { "zhangshan", "lisi", "wangwu" };

    <span style="font-size:18px;">            int[] intArr = new int[5];
                int[] intArr2 = new int[] { 5, 3, 8 };
                //错误	2	应输入长度为“5”的数组初始值	
                //int[] intArr3 = new int[5] { 5, 3, 8 };
                int[] intArr4 = { 5, 3, 8 };
    
                //给数组赋值
                for (int i = 0; i < intArr.Length; i++)
                {
                    Console.WriteLine("请输入第{0}个数:", i);
                    intArr[i] = Convert.ToInt32(Console.ReadLine());
                }
    
                //遍历数组
                for (int i = 0; i < intArr.Length; i++)
                {
                    Console.WriteLine("第{0}个数为:{1}", i, intArr[i]);
                }
    
                Console.WriteLine("数组 intArr2 的长度为:{0}", intArr2.Length);   //3
                for (int i = 0; i < intArr2.Length; i++)
                {
                    Console.WriteLine("第{0}个数为:{1}", i, intArr2[i]);
                }
                Console.WriteLine("数组 intArr4 的长度为:{0}", intArr2.Length);   //3
                for (int i = 0; i < intArr4.Length; i++)
                {
                    Console.WriteLine("第{0}个数为:{1}", i, intArr4[i]);
                }
    
                string[] strArr = { "zhangshan", "lisi", "wangwu" };
                for (int i = 0; i < strArr.Length; i++)
                {
                    Console.WriteLine(strArr[i]);
                }</span>



    冒泡排序

    让数组中的元素两两比较(第i个和第i+1个进行比较),经过n(i-1)遍两两比较,数组中的元素能按照我们预期的规律进行排列。两两比较的时候,如果是从大到小排列则用小于号,如果是从小到大排列则用大于号。


    <span style="font-size:18px;">            //源数组
                int[] arr = { 3, 56, 23, 67, 11, 13, 4, 14, 67 };</span>

    从小到大的冒泡排序:

    <span style="font-size:18px;">//从小到大冒泡排序
                //控制比较的趟数
                for (int i = 0; i < arr.Length-1; i++)
                {
                    //控制每一趟比较的次数
                    for (int j = 0; j < arr.Length - 1 - i; j++)
                    {
                        if (arr[j] > arr[j + 1])
                        {
                            int temp = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                }
                Console.WriteLine("从小到大排序结果为:");
                for (int i = 0; i < arr.Length; i++)
                {
                    Console.Write(arr[i] + ",");
                }</span>


    从大到小的冒泡排序:

    <span style="font-size:18px;">//从大到小排序
                //控制趟数
                for (int i = 0; i < arr.Length-1; i++)
                {
                    //控制每一趟比较的次数
                    for (int j = 0; j < arr.Length-1-i; j++)
                    {
                        if (arr[j] < arr[j + 1])
                        {
                            int temp = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                }
                Console.WriteLine("");
                Console.WriteLine("从大到小排序结果为:");
                for (int i = 0; i < arr.Length; i++)
                {
                    Console.Write(arr[i] + ",");
                }</span>




  • 相关阅读:
    android 手把手教您自定义ViewGroup(一)
    mac下tomcat的安装与配置
    jarsigner签名报错Invalid keystore format
    android上引入七牛 上传图片或者文件 最终整理版本(可用)
    viewpage listview gridview加载本地大图多图OOM处理办法
    android TextView 文字垂直的设置
    javascript技巧之实现add方法无限调用
    jQuery源码分析之ready方法
    jQuery源码分析之Callbacks方法
    jQuery源码分析之extend方法
  • 原文地址:https://www.cnblogs.com/qigang/p/3841939.html
Copyright © 2020-2023  润新知