• 数组的应用:一。冒泡排序二。折半查找!二维数组的学习。


    数组的应用:
    (一).冒泡排序。
    1.冒泡排序是用双层循环解决。外层循环的是趟数,里层循环的是次数。
    2.趟数=n-1;次数=n-趟数。
    3.里层循环使用if比较相临的两个数的大小,进行数值交换。

    作业:
    1.先把冒泡排序写一遍。
    2.使用冒泡排序,做青歌赛的打分程序。要求去掉两个最高,两个最低分,求平均得分。

    代码。

    (二).折半查找。
    前提:数组必须是有序的。
    思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间(mid)的下标。
    1.求中间下标:mid = (top+bottom)/2
    2.上限下标下移:top = mid+1. 假设数组是升序排列。
    3.下限下标上移:bottom = mid-1;
    4.循环条件是:bottom>=top
    static void Main(string[] args)
    {
    int[] a = new int[] { 3, 5, 7, 9, 11, 13, 14, 18 };

    Console.Write("请输入要找的数:");
    int find = Convert.ToInt32(Console.ReadLine());

    int top, bottom, mid; //上限下标,下限下标,中间下标
    top = 0;
    bottom = a.Length - 1;

    while(bottom>=top) //只要下限下标还在上限下标的下面,就循环,否则没找到就结束。
    {
    //算中间下标
    mid = (top + bottom) / 2;
    //取中间的值
    int n = a[mid];
    if(n < find)
    {
    top = mid + 1; //调整上限的下标
    }
    else if(n>find)
    {
    bottom = mid - 1;// 调整下限的下标。
    }
    else
    {
    Console.WriteLine("找到了,在第" + mid + "个元素上");
    break;
    }
    }
    }

    二维数组:
    表格的模型。
    定义:
    数据类型[,] 数组名 = new 数组类型[维度长度,维度长度];
    int[,] a = new int[3,4];
    int[,] a = new int[3, 4] { { 1, 2, 3, 4 },{ 5, 6, 7, 8 }, { 9, 0, 9, 8 } };
    赋值:
    数组名[下标,下标] = 值;
    a[0,0] = 5;
    a[2,3] = 10;
    取值:
    数组名[下标,下标];

    冒泡排序

    案例一。

    案例二。//30人投票,从5个候选人选一个出来。

    折半查找

    案例三。

    二维数组。

    案例4.

    案例5.用二维数组画推箱子的地图。
     
     
  • 相关阅读:
    The connection to adb is down, and a severe error has occured
    android 补间动画
    Android Geocoder(位置解析)
    Android服务之AIDL
    SQL语言学习-数据操纵语言
    SQL语言学习-数据定义语言
    asp.net MVC 验证注解
    django之用户表的继承
    django之ModelForm组件
    django之 基于queryset和双下划线的跨表查询
  • 原文地址:https://www.cnblogs.com/569114a/p/4190052.html
Copyright © 2020-2023  润新知