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();
            }
        }
    }
  • 相关阅读:
    Nmap绕过防火墙&脚本的使用
    Nmap在实战中的高级用法
    kali&BT安装好之后无法上网或者无法获得内网IP
    [转]谈渗透测试方法和流程
    xssless
    国内外有名的安全扫描工具,你知道几个?
    Linux下如果忘记了Mysql的root密码该怎么办?
    JSP手动注入 全
    sqlmap用户手册 [详细]
    Windows系统如何使用sqlmap
  • 原文地址:https://www.cnblogs.com/ck235/p/4716749.html
Copyright © 2011-2022 走看看