zoukankan      html  css  js  c++  java
  • 循环经典--------冒泡排序,查找。

    1、冒泡排序

    将8个整数进行升序排列

    22 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
    3 22 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 22 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10
    11 11 11 22 22 22 22 22 22 22 22 12 12 12 12 12 12 12 12 12 12 12 10 10 10 11 11 11 11
    55 55 55 55 55 55 55 55 55 55 55 55 33 33 33 33 33 33 10 10 10 10 12 12 12 12 12 12 12
    66 66 66 66 66 66 33 33 33 33 33 33 55 10 10 10 10 10 33 33 33 33 33 33 33 33 33 33 33
    33 33 33 33 33 33 66 10 10 10 10 10 10 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
    10 10 10 10 10 10 10 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66
    趟数 第1趟 第2趟 第3趟 第4趟 第5趟 第6趟 第7趟
    次数 比7次 比6次 比5次 比4次 比3次 比2次 比1次
    关系:   趟数:n-1,次数:n-i

     程序代码:

     static void Main(string[] args)
            {
                int[] a = new int[8] {22,3,4,11,55,66,33,10 };
                //升序排列
                for(int i=1;i<=a.Length;i++)
                {
                    for (int j=0;j<a.Length-i;j++)
                    {if(a[j]>a[j+1])
                    {
                        int t = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = t;
                    }
                    }
                }
                //输出数组a
                //for (int i = 0; i<8;i++ )
                //{
                //    Console.WriteLine(a[i]);
                //}
                foreach(int b in a)
                {
                    Console.WriteLine(b);
                }
            }

    2、顺序查找

    注意:

    体会布尔型 bool meizhaodao=true;在本题中的作用;

    体会break的作用;

     程序代码:

     static void Main324234(string[] args)
            {//输入要找的数
                Console.WriteLine("请输入你要找的数:");
                int find = Convert.ToInt32(Console.ReadLine());
                int[] a = new int[]{ 2, 11, 55, 77, 4, 3, 2, 6 };
              //查找
                bool meizhaodao = true;//如果不加,没法输出“找不到”这句话
                for (int i = 0;i<=7;i++)
                {if(a[i]==find)
                {
                    meizhaodao =false;
                    Console.WriteLine("找到了,是第{0}个数。",i+1);
                    break; //如果不加,数组含有2个find,可能输出2个找到了。
                } 
                }
                if(meizhaodao==true)
                {
                    Console.WriteLine("没找到");
                }
            }

    3、二分法查找------找英语单词

    思路:

    首先将要排序的数组或集合排序(冒泡排序法)

    然后查找中间数,看看中间数==find?如果相等,输出找到了,并且终止循环;---循环体

    如果find>中间数,去掉前面的一半,继续用二分法在后面一半数里面找;----循环体

    如果find<中间数,去掉后面的一半,继续用二分法在前面的一半里头找;----循环体

    重复循环,直到结束下标<开始下标时,输出没有找到,并终止循环。

    进一步分析:写出本题的循环体和循环条件需要有一个开始下标、中间下标、结束下标。

    程序代码:

     static void Main67778(string[] args)
            { //输入你要找的数
                Console.WriteLine("请输入你要找的数:");
                int find=Convert.ToInt32( Console.ReadLine());
                int[] a = new int[]{11,22,33,44,55,66,77,88,99};
                //查找
                int kaishi= 0, jieshu =a.Length-1;
                for (; ; )
                {
                    int mid = (kaishi + jieshu) / 2;
                    if(find==a[mid])
                    {
                        Console.WriteLine("找到了,是第{1}个数",mid+1);
                        break;
                    }
                    else if (find >a[mid])
                    {
                        kaishi = mid + 1;
                    }
                    else
                    {
                        jieshu = mid - 1;
                    }
                    if(kaishi>jieshu)
                    {
                        Console.WriteLine("没找到");
                        break;
                    }
                }
            }
  • 相关阅读:
    WinCE NAND flash
    正确选择报表工具的十大标准
    从技术岗位走向管理岗位:机会是留给有准备的人
    创业失败的七个原因及解决之道
    技术人员如何参与产品设计讨论:激活那一潭死水
    基于Android Studio搭建hello world工程
    基于Android Studio搭建Android应用开发环境
    JS数组去重的6种算法实现
    八款前端开发人员更轻松的实用在线工具
    海市蜃楼-嘉兴外蒲岛奇遇
  • 原文地址:https://www.cnblogs.com/jinshui/p/5428783.html
Copyright © 2011-2022 走看看