• 数组以及冒泡排序



    数组

    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>




  • 相关阅读:
    国外名校课程视频爆红 网友总结“必杀技”(图)
    设置mysql密码
    Writing Linux LCD drivers—深入分析framebuffer设备驱动的结构
    LAMP架构中,php 与 php、php与C语言程序等 之间 的网络通信 问题
    API & ABI
    Linux 6初体验:桌面性能堪比新版Ubuntu
    diff 比较两个文件夹
    11种错误的保养皮肤习惯
    服务器领域Linux击败Windows的5大理由
    CentOS5.5 FTP安装配置
  • 原文地址:https://www.cnblogs.com/qigang/p/3841939.html
Copyright © 2020-2023  润新知