zoukankan      html  css  js  c++  java
  • 冒泡排序后用二分查找法查找位置

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Threading;                          //用来包含sleep
    
    namespace 冒泡排序
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] array=new int[10];
                int exchange;
                for (int i=0;i<array.Length;i++)      //length为10,为什么直接填10不行
                {
                Random ran = new Random();            //默认种子是时间,不休息的话,等于默认种子是一个时间,故而长成一个随机数
                array[i]=ran.Next(0,100);                           
                Thread.Sleep(30);    
                }
                Console.Write("所生成的随机数列为:");
                foreach (int x in array)
                    Console.Write(" " + x);
                for (int i=0;i<9;i++)               //相邻数字进行大小排序,极端情况为最大的数在最小的位置,这样相邻位置交换9次可以把它移动到应有的位置
                {
                    for (int k = 0; k < 9; k++)
                    {
                        if (array[k] >= array[k + 1])
                        {
                            exchange = array[k];
                            array[k] = array[k + 1];
                            array[k + 1] = exchange;
                        }
                    }
                }
                Console.WriteLine();
                Console.Write("排序后的数列为:    ");
                foreach (int y in array )
                        Console .Write (" "+y);
                
                Console.Write("
    请输入索要查询的数字:");
                int num = int.Parse(Console.ReadLine());
                int begin = 0, end = 9,mid;
                bool abc=array.Contains(num);
                if (abc==false)
                    Console.WriteLine("数列中不含有此数字");                      //用了一回布尔型,还不太熟练
                else
                    while (true)
                {
                    mid = (begin + end) / 2;
                    if (array[mid] > num)
                        end = mid;
                    if (array[mid] < num)
                        begin = mid;
                    if (array[mid] == num)
                    {
                        Console.WriteLine("您所查找的数字在数列中的索引位置为" + mid);
                        break;
                    }
                }
                Console.ReadLine();
            }
        }
    }
  • 相关阅读:
    php7垃圾回收机制
    PHP-FPM
    go main.main之前的准备
    ElementUI MessageBox 弹框
    ElementUI table 样式修改
    ElementUI Dropdown 下拉菜单
    vue+django实现下载文件
    ElementUI 点击展开/隐藏
    vue+django实现websocket连接
    ElementUI 上传文件以及限制
  • 原文地址:https://www.cnblogs.com/ck235/p/4716749.html
Copyright © 2011-2022 走看看